Laravel - Ajax

Ajax (Asynchronous JavaScript and XML)est un ensemble de techniques de développement Web utilisant de nombreuses technologies Web utilisées côté client pour créer des applications Web asynchrones. Importez la bibliothèque jquery dans votre fichier de vue pour utiliser les fonctions ajax de jquery qui seront utilisées pour envoyer et recevoir des données en utilisant ajax depuis le serveur. Côté serveur, vous pouvez utiliser la fonction response () pour envoyer une réponse au client et pour envoyer une réponse au format JSON, vous pouvez chaîner la fonction de réponse avec la fonction json ().

syntaxe de la fonction json ()

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

Exemple

Step 1 - Créez un fichier de vue appelé resources/views/message.php et copiez le code suivant dans ce fichier.

<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 - Créez un contrôleur appelé AjaxController en exécutant la commande suivante.

php artisan make:controller AjaxController --plain

Step 3 - Après une exécution réussie, vous recevrez la sortie suivante -

Step 4 - Copiez le code suivant dans

app/Http/Controllers/AjaxController.php fichier.

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 - Ajoutez les lignes suivantes dans app/Http/routes.php.

app/Http/routes.php

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

Step 6 - Visitez l'URL suivante pour tester la fonctionnalité Ajax.

http://localhost:8000/ajax

Step 7 - Vous serez redirigé vers une page où vous verrez un message comme indiqué dans l'image suivante.

Step 8 - La sortie apparaîtra comme indiqué dans l'image suivante après avoir cliqué sur le bouton.