注
我已根据文档提供了所有令牌内容 laravel-5.5和内部请求完美无缺。
我正在使用AJAX。
答案 0 :(得分:0)
当失败的CSRF验证时,Laravel经常会返回419错误。这听起来像是你的问题,因为你正在发出POST请求。
确保将CSRF令牌添加到请求中。如果你正在使用jQuery,你可以这样做:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
请务必将其添加到<head>
标记中:
<meta content="{{ csrf_token() }}" name="csrf-token" />
修改强>
我做了一些研究,我很确定它是缺少的CSRF令牌。
Laravel中唯一返回419状态代码的地方是:Exceptions/Handler.php
。如果潜水深一点,你会发现TokenMismatchException
被抛出的唯一地方是VerifyCsrfToken。所以要么缺少CSRF令牌,要么错误。
答案 1 :(得分:0)
我终于解决了。 我在web.php中定义了我的api路由,而不是routes / api.php 现在一切正常,没有任何错误