我试图在laravel中创建一个Ajax请求,但我遇到了500(内部服务器错误)。这是我创建的路线:
Route::post('/ajaxtest', 'PagesController@update');
这是更新功能,目前无效。
public function update(Illuminate\Http\Request $request)
{
// if ($request->isMethod('post')){
// return response()->json(['response' => 'This is post method']);
// }
// return response()->json(['response' => 'This is get method']);
}
这是jquery代码
function tryajax() {
$.ajax({
type: "POST",
url: './ajaxtest',
data: "",
success: function() {
console.log("Geodata sent");
}
})
};
按钮上有一个onclick功能。
答案 0 :(得分:2)
这可能是由于csrf-protection middleware。您有2个选项:发出异常,或在请求中回显令牌。
https://laravel-news.com/excluding-routes-from-the-csrf-middleware
下次让你出错:
答案 1 :(得分:1)
布局:
<meta name="csrf-token" content="{{ csrf_token() }}">
脚本:
function tryajax() {
$.ajax({
type: "POST",
url: './ajaxtest',
data: "",
headers: { 'X-CSRF-TOKEN': $('meta[name=\'csrf-token\']').attr('content') }
success: function() {
console.log("Geodata sent");
}
})
};
添加csrf-token以请求