laravel 5中的ajax发布返回错误500(内部服务器错误)
这是我在laravel 5中测试的ajax(请参阅下文)
$("#try").click(function(){ var url = $(this).attr("data-link");
$.ajax({
url: "test",
type:"POST",
data: { testdata : 'testdatacontent' },
success:function(data){
alert(data);
},error:function(){
alert("error!!!!");
}
}); //end of ajax
});
和触发链接
<a href="#" id="try" data-link="{{ url('/test') }}">Try</a>
和我的路线
Route::post('test', function(){
return 'Success! ajax in laravel 5';
});
但是当我在google chrome中运行控制台时,它给了我错误,并且未返回预期的响应“在laravel 5中返回’成功!ajax’;”
POST http://juliver.laravel.com/test
500(内部服务器错误)
我的代码有什么问题/问题?我缺少什么?
回答:
虽然这个问题存在一段时间,但没有给出可接受的答案,我想向您指出解决方案。因为您使用的是ajax发送,并且大概仍在使用CSRF中间件,所以您需要在请求中提供一个附加的标头。
向每个页面(或主版面)添加一个元标记: <meta name="csrf-token" content="{{ csrf_token() }}">
并添加到您的javascript文件(或页面内的部分):
$.ajaxSetup({ headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
有关更多详细信息,请参见https://laravel.com/docs/master/csrf#csrf-x-csrf-
token。
以上是 laravel 5中的ajax发布返回错误500(内部服务器错误) 的全部内容, 来源链接: utcz.com/qa/398816.html