首页 >后端开发 >php教程 >Laravel 5.5 Ajax 错误 419:如何修复 CSRF 令牌问题?

Laravel 5.5 Ajax 错误 419:如何修复 CSRF 令牌问题?

DDD
DDD原创
2024-12-06 13:48:17459浏览

Laravel 5.5 Ajax Error 419: How to Fix CSRF Token Issues?

Laravel 5.5 Ajax 调用错误:419(未知状态)

在 Laravel 5.5 中执行 Ajax 调用时,您可能会遇到以下错误:消息“419(未知状态)”。这通常源于跨站点请求伪造 (CSRF) 保护机制的问题。以下是解决此问题的方法:

确保 CSRF 令牌可用

Laravel 需要 CSRF 令牌来防止执行恶意请求。确保刀片模板的标头部分中存在 CSRF 令牌元标记:

<meta name="csrf-token" content="{{ csrf_token() }}" />

在 Ajax 中访问 CSRF 令牌

配置您的 Ajax 请求以自动检索并在标头中包含 CSRF 令牌:

$.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});

示例已更新代码:

$('.company-selector li > a').click(function(e) {
     e.preventDefault();

     var companyId = $(this).data("company-id");

     $.ajaxSetup({
        headers: {
          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
     });

      $.ajax({
          url: '/fetch-company/' + companyId,
          dataType : 'json',
          type: 'POST',
          data: {},
          success:function(response) {
               console.log(response);
          }
     });
  });

其他提示

有关 CSRF 保护的更多信息,请参阅 Laravel 文档:https://laravel.com/docs/ 5.5/csrf

以上是Laravel 5.5 Ajax 错误 419:如何修复 CSRF 令牌问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn