Laravel - Ajax

Ajax (Asynchronous JavaScript and XML)è un insieme di tecniche di sviluppo web che utilizzano molte tecnologie web usate sul lato client per creare applicazioni web asincrone. Importa la libreria jquery nel tuo file di visualizzazione per utilizzare le funzioni ajax di jquery che verranno utilizzate per inviare e ricevere dati utilizzando ajax dal server. Sul lato server è possibile utilizzare la funzione response () per inviare la risposta al client e per inviare la risposta in formato JSON è possibile concatenare la funzione di risposta con la funzione json ().

sintassi della funzione json ()

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

Esempio

Step 1 - Crea un file di visualizzazione chiamato resources/views/message.php e copia il codice seguente in quel file.

<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>

Step 2 - Crea un controller chiamato AjaxController eseguendo il seguente comando.

php artisan make:controller AjaxController --plain

Step 3 - Dopo aver eseguito con successo, riceverai il seguente output -

Step 4 - Copia il seguente codice in formato

app/Http/Controllers/AjaxController.php file.

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);
   }
}

Step 5 - Aggiungi le seguenti righe app/Http/routes.php.

app/Http/routes.php

Route::get('ajax',function() {
   return view('message');
});
Route::post('/getmsg','[email protected]');

Step 6 - Visita il seguente URL per testare la funzionalità Ajax.

http://localhost:8000/ajax

Step 7 - Verrai reindirizzato a una pagina in cui vedrai un messaggio come mostrato nell'immagine seguente.

Step 8 - L'output apparirà come mostrato nell'immagine seguente dopo aver fatto clic sul pulsante.