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中文网其他相关文章!