تخفیفات تابستان تاپایان: سه شنبه ۵ مهر ۱۴۰۱
بزن بریم فروشگاه
درس 23 - آموزش ajax laravel

آموزش ajax در فریمورک لاراول

ایجکس یا 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

قدم ۳ − بعد از اجرای دستور بالا باید نتیجه در ترمینال مشابه تصویر زیر باشد :‌

آموزش ajax در فریمورک laravel

قدم ۴ − نمونه کدهای زیر را در فایل 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

قدم ۷ − نتیجه ای که در مرورگر مشاهده خواهید کرد مشابه تصویر زیر باید باشد :‌

 

آموزش ajax در فریمورک laravel

قدم ۸  − روی دکمه ی Replace Message کلیک کنید تا تغییرات را بدون ریفرش شدن صفحه ببینید و نتیجه باید مشابه تصویر زیر باشد‌ : 

آموزش ایجکس (ajax) در فریمورک لاراول

اتمام درس