在Laravel 5.2中使用jQuery和Ajax时出现500内部服务器错误。

11 浏览
0 Comments

在Laravel 5.2中使用jQuery和Ajax时出现500内部服务器错误。

我正在使用jQuery和Ajax在laravel 5.2中构建编辑帖子系统。当我点击保存更改按钮时,会显示以下错误:\n错误:POST http://localhost:8000/edit 500(内部服务器错误)\nsend @ jquery-1.12.0.min.js:4\najax @ jquery-1.12.0.min.js:4(匿名函数)@ myplace.js:24\ndispatch @ jquery-1.12.0.min.js:3\nr.handle @ jquery-1.12.0.min.js:3\njs代码:\n$(\'#modal-save\').on(\'click\',function(){\n$.ajax({\nmethod:\'POST\',\nurl:url,\ndata:{body:$(\'#post-body\').val(),postid:\'\',_token:token})\n.done(function(msg){\nconsole.log(msg [\'message\']);\n});\n});\n在视图文件中包含:\nvar token =\'{{Session :: token()}}\';\nvar url =\'{{route(\'edit\')}}\';

0
0 Comments

在使用jQuery和Ajax在Laravel 5.2中出现500内部服务器错误的问题可能是由于csrf令牌的问题引起的。在进行Ajax调用之前,只需更改你的Ajax设置并将令牌放入通过Ajax发送的每个头部即可解决这个错误。

首先添加一个meta标签:

<meta name="_token" content="{{ csrf_token() }}">

然后调整Ajax设置:

$(function () {
    $.ajaxSetup({
        headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
    });
});

或者更简单地:

$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });

0