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

回到顶部