使用vue的CORS问题

时间:2017-09-05 15:31:44

标签: laravel vue.js cors axios

我们在已经使用webpack的项目上使用vue-bulma-admin脚手架,我们似乎无法对我们的API执行任何POST / PUT请求(已经设置了access-cross-allow-原始标题为*),只有GET请求有效。从使用我们的API的不同前端,我们不会遇到这个问题,只有这个特定的前端,这给出了这个常见的错误:

  

" No' Access-Control-Allow-Origin'标题出现在请求的上   。资源"

Response to preflight request doesn't pass access control check: 
No 'Access-Control-Allow-Origin' header is present on the requested 
resource.

我们已尝试在axios/vue-resource上设置自定义标头,但没有成功。正如我所说,使用Postman /不同前端或CORS chrome扩展的相同路线,一切正常。

有什么想法可以解决这个问题吗?

我的中间件Cors in Laravel API。

<?php

namespace App\Http\Middleware;

use Closure;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request)
          ->header('Access-Control-Allow-Origin', '*')
          ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    }
}

1 个答案:

答案 0 :(得分:0)

我使用包https://github.com/barryvdh/laravel-cors

解决了我的问题