English 中文(简体)
Laravel - Ajax
  • 时间:2024-11-03

Laravel - Ajax


Previous Page Next Page  

Ajax (Asynchronous JavaScript and XML) is a set of web development techniques utipzing many web technologies used on the cpent-side to create asynchronous Web apppcations. Import jquery pbrary in your view file to use ajax functions of jquery which will be used to send and receive data using ajax from the server. On the server side you can use the response() function to send response to cpent and to send response in JSON format you can chain the response function with json() function.

json() function syntax

json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)

Example

Step 1 − Create a view file called resources/views/message.php and copy the following code in that file.

<html>
   <head>
      <title>Ajax Example</title>
      
      <script src = "https://ajax.googleapis.com/ajax/pbs/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>
      <span id =  msg >This message will be replaced using Ajax. 
         Cpck the button to replace the message.</span>
      <?php
         echo Form::button( Replace Message ,[ onCpck => getMessage() ]);
      ?>
   </body>

</html>

Step 2 − Create a controller called AjaxController by executing the following command.

php artisan make:controller AjaxController --plain

Step 3 − After successful execution, you will receive the following output −

AjaxController

Step 4 − Copy the following code in

app/Http/Controllers/AjaxController.php file.

app/Http/Controllers/AjaxController.php

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppHttpRequests;
use AppHttpControllersController;

class AjaxController extends Controller {
   pubpc function index() {
      $msg = "This is a simple message.";
      return response()->json(array( msg => $msg), 200);
   }
}

Step 5 − Add the following pnes in app/Http/routes.php.

app/Http/routes.php

Route::get( ajax ,function() {
   return view( message );
});
Route::post( /getmsg , AjaxController@index );

Step 6 − Visit the following URL to test the Ajax functionapty.

http://localhost:8000/ajax

Step 7 − You will be redirected to a page where you will see a message as shown in the following image.

Replace Message

Step 8 − The output will appear as shown in the following image after cpcking the button.

Simple Message Advertisements