通过Ajax进行POST时,Laravel 5.6 CSRF令牌失败

时间:2018-09-19 09:37:08

标签: php laravel laravel-5

我使用的是所见即所得(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令牌与请求一起发布,所以我不确定为什么会收到此错误。

1 个答案:

答案 0 :(得分:0)

确保名称为“ csrf-token”的元标记存在

OR

在您的Ajax中使用它:

_token: {{csrf_token()}},

如果它不起作用,则在ajax的数据对象中发送csrf令牌

$.ajax({
        url: '////',
        data: {_token: {{csrf_token()}}},
        success: function (data) {
            console.log(data)
        }
    });