从JS发布时Laravel API CORS错误

时间:2019-06-05 19:46:12

标签: laravel

我使用Laravel制作了一个API,尝试发布时遇到错误。我不知道是否需要从javascript发送crsf,或者是否使cors中间件错误。

当我使用API​​时,我没有任何问题。

这是我的中间件。它已添加到kernel.php文件中。

class Cors{
    public function handle($request, Closure $next) {
        return $next($request)
            ->header('Access-Control-Allow-Origin', '*') 
            ->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS')
            ->header('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token, Authorization, X-Requested-With, x-xsrf-token, ip');
    }
}

在javascritp上,我在标头上添加了以下内容:“ Content-Type”:“ application / json”。

这是它给我的错误

从原点“ http://localhost:8000/api/user/1/videos/1/newComment”到“ http://localhost:4200”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-来源的标头出现在请求的资源上。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试将其添加到项目根目录的index.php顶部...

    <?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    ?>