ورود / ثبت نام سبد خرید 0
ایجکس یا Ajax یکی از تکنیک های توسعه ی اپلیکیشن های تحت وب است که باعث میشود ارسال درخواست ها به سمت سرور بدون ریفرش شدن صفحه اتفاق بیوفتد. در فریمورک لاراول کتابخانه ی Jquery را به صفحه ی view خود اضافه کنید تا ارسال و دریافت اطلاعات به سمت سرور را بصورت Ajax بتوانید کنترل کنید.در سمت سرور میتوانید از تابع response برای ارسال پاسخ به کلاینت استفاده کنید و اگر قصد داشته باشید خروجی شما با فرمت json باشه با استفاده از یک متود به نام json میتوانید خروجی JSON بگیرید.
سینتکس استفاده از تابع json در فریمورک لاراول
json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)
مثال زیر را برای درک استفاده ی Ajax در فریمورک لاراول آورده ایم.
قدم ۱ − یک فایل view جدید در فریمورک لاراول خود بسازید که در مسیر resources/views/message.php قرار دارد و کدهای زیر را درون آن بنویسید.
<html> <head> <title>Ajax Example</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script> <script> function getMessage() { $.ajax({ type:'POST', url:'/getmsg', data:'_token = <?php echo csrf_token() ?>', success:function(data) { $("#msg").html(data.msg); } }); } </script> </head> <body> <div id = 'msg'>This message will be replaced using Ajax. Click the button to replace the message.</div> <?php echo Form::button('Replace Message',['onClick'=>'getMessage()']); ?> </body> </html>
قدم ۲ − یک کنترلر جدید به نام AjaxController بسازید و برای این کار میتوانید ترمینال کامپیوتر خود را باز کنید و به مسیر نصب لاراول خود رفته و دستور زیر را اجرا کنید:
php artisan make:controller AjaxController --plain
قدم ۳ − بعد از اجرای دستور بالا باید نتیجه در ترمینال مشابه تصویر زیر باشد :
قدم ۴ − نمونه کدهای زیر را در فایل app/Http/Controllers/AjaxController.php که کنترلر تازه ساخته شده است بنویسید :
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class AjaxController extends Controller { public function index() { $msg = "This is a simple message."; return response()->json(array('msg'=> $msg), 200); } }
قدم ۵ − فایل route های فریمورک لاراول خود را باز کنید که در نسخه های جدید در مسیر routes/web.php است و کدهای زیر را درون آن اضافه کنید :
Route::get('ajax',function() { return view('message'); }); Route::post('/getmsg','AjaxController@index');
قدم ۶ − بعد از اجرا کردن دستور php artisan serve در ترمینال مسیر لاراول خود ، مرورگر را باز کنید و به آدرس زیر مراجعه کنید :
http://localhost:8000/ajax
قدم ۷ − نتیجه ای که در مرورگر مشاهده خواهید کرد مشابه تصویر زیر باید باشد :
قدم ۸ − روی دکمه ی Replace Message کلیک کنید تا تغییرات را بدون ریفرش شدن صفحه ببینید و نتیجه باید مشابه تصویر زیر باشد :
اتمام درس
محصولات برگزیده مناسب شما