Laravel 中使用 Ajax 请求的实现方法


发布日期 : 2024-08-26 11:24:07 UTC

访问量: 10 次浏览

Laravel Ajax

Ajax(异步JavaScript 和 XML)是一组利用客户端上使用的许多 Web 技术创建异步 Web 应用程序的 Web 开发技术集合。
在视图文件中导入 jquery库以使用jquery 的ajax函数,该函数将用于使用ajax从服务器发送和接收数据。
在服务器端,您可以使用 response() 函数向客户端发送响应,并且要以 JSON 格式发送响应,可以将 response 函数链接到 json() 函数。

json() 函数语法

json(string|array data = array(), intstatus = 200, array headers = array(), intoptions)

示例

步骤1
- 创建一个名为 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>

步骤2
− 通过执行以下命令创建一个名为 AjaxController 的控制器。

php artisan make:controller AjaxController --plain

步骤3
- 执行成功后,您将收到以下输出 –

Laravel Ajax

步骤4
− 将以下代码复制到 app/Http/Controllers/AjaxController.php 文件中。

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

步骤5
− 在 app/Http/routes.php 中添加以下行。

app/Http/routes.php

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

步骤6
- 访问以下网址以测试Ajax功能。

http://localhost:8000/ajax

步骤7
− 您将被重定向到一个页面,在该页面上您将看到如下图所示的消息。

Laravel Ajax

步骤8
− 在点击按钮后,输出结果将如下图所示。

Laravel Ajax