gpt4 book ai didi

ajax - Laravel 5.3中ajax POST的最小工作示例

转载 作者:行者123 更新时间:2023-12-03 11:05:09 25 4
gpt4 key购买 nike

有人可以用完整的最小示例解释Laravel 5.3中的ajax post方法吗?
我知道网络上有一些资源,但是我想念一个简洁,直接的最小示例。

最佳答案

我假设您对模型- Controller - View 范例有基本的了解,对Laravel的基本了解,以及对JavaScript和JQuery的基本了解(为简单起见,我将使用它们)。

我们将创建一个编辑字段和一个发布到服务器的按钮。 (这适用于Laravel 5.0至5.6的所有版本)

1.路线

首先,您需要将路由添加到route / web.php。就像您从普通 View 中知道的那样,为 View 创建一条路线:

Route::get('ajax', function(){ return view('ajax'); });

您需要创建的第二条路由是处理ajax发布请求的路由。请注意,它正在使用 post 方法:
Route::post('/postajax','AjaxController@post');

2. Controller 功能

在您刚才创建的(第二条)路由中,将调用AjaxController中的Controller函数发布。因此创建 Controller
php artisan make:controller AjaxController

并在app / Http / Controllers / AjaxController.php中添加包含以下行的函数发布:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;


class AjaxController extends Controller {

public function post(Request $request){
$response = array(
'status' => 'success',
'msg' => $request->message,
);
return response()->json($response);
}
}

该函数已准备就绪,可以通过Http请求接收数据,并返回json格式的响应(包括状态“成功”和该函数从请求中获得的消息)。

3.观点

在第一步中,我们定义了指向 View ajax的路由,因此现在创建 View ajax.blade.php。
<!DOCTYPE html>
<html>
<head>

<!-- load jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<!-- provide the csrf token -->
<meta name="csrf-token" content="{{ csrf_token() }}" />

<script>
$(document).ready(function(){
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$(".postbutton").click(function(){
$.ajax({
/* the route pointing to the post function */
url: '/postajax',
type: 'POST',
/* send the csrf-token and the input to the controller */
data: {_token: CSRF_TOKEN, message:$(".getinfo").val()},
dataType: 'JSON',
/* remind that 'data' is the response of the AjaxController */
success: function (data) {
$(".writeinfo").append(data.msg);
}
});
});
});
</script>

</head>

<body>
<input class="getinfo"></input>
<button class="postbutton">Post via ajax!</button>
<div class="writeinfo"></div>
</body>

</html>

如果您想知道此csrf token 有什么问题,请阅读 https://laravel.com/docs/5.3/csrf

关于ajax - Laravel 5.3中ajax POST的最小工作示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com