Laravel:CSRF 令牌与 X-XSRF-TOKEN 不匹配 [重复]

Posted

技术标签:

【中文标题】Laravel:CSRF 令牌与 X-XSRF-TOKEN 不匹配 [重复]【英文标题】:Laravel: CSRF token mismatch with X-XSRF-TOKEN [duplicate] 【发布时间】:2021-04-07 20:04:49 【问题描述】:

有没有办法让它在标头 X-XSRF-TOKEN 的 ajax 请求中工作?

$.ajax(
    type: "POST",
    headers:  'X-XSRF-TOKEN': token ,
    url: '/edit_preset_filters',
    data: data,
    success: function (result) 
        $('#errorSaveFilter').hide();
        $('#save-filters').dialog('close');

    
);

错误信息

消息“CSRF 令牌不匹配。” 异常“Symfony\Component\HttpKernel\Exception\HttpException”

这样我得到了令牌

<?php
$encrypter = app('Illuminate\Encryption\Encrypter');
$encrypted_token = $encrypter->encrypt(csrf_token());
<input id="token" type="hidden" value="$encrypted_token">

【问题讨论】:

【参考方案1】:

csrf token 不需要添加额外的行,只需添加这一行,

 csrf_field() 

在ajax调用中

var token =  $('input[name="token"]').val(); 

【讨论】:

以上是关于Laravel:CSRF 令牌与 X-XSRF-TOKEN 不匹配 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:CSRF 令牌与 X-XSRF-TOKEN 不匹配 [重复]

CSRF 令牌与 Laravel API 不匹配,使用 Digital Ocean Load Balancer with Sticky Session

Laravel 7 Vue 2 Sanctum 登录错误 419; CSRF 令牌不匹配

即使包含 CSRF 令牌,Laravel ajax 帖子也无法正常工作

Laravel + Vue.js (axios) - CSRF 令牌不匹配

如何使用 CSRF 令牌发布到 Laravel API?