当通过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令牌失败的主要内容,如果未能解决你的问题,请参考以下文章