CSRF令牌在Laravel ajax调用中不起作用

CSRF令牌在Laravel ajax调用中不起作用,laravel,Laravel,我已经检查了这个问题的无数答案,由于某种原因,我无法让它工作 我得到一个错误: 401(未经授权) 我的路线是api路线 我的数据: let ajaxMainTemplate = { 'mainTemplate': mainTemplate, 'templateId': templateId, '_token': accessToken, } 我的ajax调用: $.ajax({ type: 'POST', url:`../api/aiMainTemplate/${

我已经检查了这个问题的无数答案,由于某种原因,我无法让它工作

我得到一个错误:

401(未经授权)

我的路线是api路线

我的数据:

let ajaxMainTemplate = {
  'mainTemplate': mainTemplate,
  'templateId': templateId,
  '_token': accessToken,
}
我的ajax调用:

$.ajax({
    type: 'POST',
    url:`../api/aiMainTemplate/${ajaxData.templateId}`,
    data: {
        _token: ajaxData._token,
        ajaxData
    },
    success: function(response) {
        console.log(response)
    }
})
我已经尝试了上面的测试,基于另一个响应。我将令牌放在
ajaxData
对象之外。我也犯了同样的错误。我还尝试:

$.ajax({
    type: 'POST',
    url:`../api/aiMainTemplate/${ajaxData.templateId}`,
    headers: { 'X-CSRF-TOKEN': ajaxData._token },
    data: ajaxData,
    success: function(response) {
        console.log(response)
    }
})
一样


我还通过添加
控制台确认了令牌的存在。log
知道我的错误在哪里吗?

我的url位于受api保护的路由后面,因此我必须通过ajax调用ajax登录

凭据位于变量ajaxData中

  $.ajax({
  type: 'POST',
  url: 'http://127.0.0.1:8000/api/login',
  data: ajaxData,
  success: function(response) {
     shopifyToken = response.success.token;
     getListProducts(shopifyToken);
  }
  });

通过此登录生成的shopify令牌,它可以正常工作。

当问题是由于csrf令牌造成的时,laravel通常返回419,而不是401。问题可能是因为您使用的api身份验证在ajax postAh优秀捕获中没有完全归档@Gamopo如前所述,401不是令牌问题,因此可能这是其他问题,但您使用
ajaxData
传递令牌,但变量实际上是
ajaxMainTemplate
。另外,您在第一个AJAX示例中传递的
数据的结构看起来是错误的,应该是
data:ajaxMainTemplate
?您好,AJAX调用在方法中,ajaxData是接收到的参数。