laravel-5.5中的CORS请求

时间:2018-03-15 08:02:48

标签: ajax laravel-5.5

  1. 通过ajax向API发送请求时,我得到419个未知状态。
  2. 我知道这个问题是因为CORS请求。我加上了 客户端,但我是否还需要设置请求标头,allow-origin 来自API的其他?如果是,我如何在API中包含响应头 ?
  3.   

         

    我已根据文档提供了所有令牌内容   laravel-5.5和内部请求完美无缺。

    我正在使用AJAX。

2 个答案:

答案 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 现在一切正常,没有任何错误