当通过Ajax进行POST时,Laravel 5.6 CSRF令牌失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当通过Ajax进行POST时,Laravel 5.6 CSRF令牌失败相关的知识,希望对你有一定的参考价值。
我正在使用WYSIWYG编辑器并希望将媒体发布到控制器,此操作通过ajax完成。
在标题中我有:
<meta name="csrf-token" content="{{ csrf_token() }}">
我添加了一个额外的请求标头;
var token = $('meta[name="csrf-token"]').attr('content');
$('textarea.default').froalaEditor({
requestHeaders: {
_token: token,
},
charCounterCount: false,
})
然而,当ajax发射时,我得到了一个419 unknown status error
但是我发布了我的CSRF令牌以及请求所以我不知道为什么我会收到这个错误。
答案
确保存在名为“csrf-token”的元标记
要么
在你的ajax中使用它:
_token: {{csrf_token()}},
如果它不起作用,则在ajax的数据对象中发送csrf标记
$.ajax({
url: '////',
data: {_token: {{csrf_token()}}},
success: function (data) {
console.log(data)
}
});
以上是关于当通过Ajax进行POST时,Laravel 5.6 CSRF令牌失败的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.1 AJAX - 即使我发送 POST 请求,也不允许返回 405 GET 方法
如何通过 post 方法将数据从 ajax 传递到 laravel 5.2 控制器
Laravel 5:Ajax Post 500(内部服务器错误)
每当进行 AJAX POST 时,Laravel 4 应用程序都会将用户注销