CORS问题:飞行前响应中Access-Control-Allow-Headers不允许请求标头字段授权

时间:2018-12-11 02:21:28

标签: cors axios

在我的项目中,我想通过第三方API请求数据。并遇到了CORS问题,如下所示:

在我的前端代码中,我使用axios发送具有最基本用法的ajax get请求,如下所示:

  getPositions () {
    return axios.get('http://api.metro.net/agencies/lametro/vehicles/')
  }

并且如标题所示,浏览器使用以下错误消息阻止请求:

Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response

我对CORS有所了解,并且知道预检是什么。但是仍然对这个问题感到困惑。

我在浏览器的devtools中检查了问题。并发现request headers部分如下:

Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Origin: http://localhost:3001
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

其中列出了Access-Control-Request-Headers: authorization的标题。我认为这就是这个问题的原因。但是Access-Control-Request-Headers用于让服务器知道在发出实际请求Access-Control-Request-Headers 时将使用哪些HTTP标头。

但是我不打算发送Authorization头,如我的代码所示,我根本没有设置任何头。那么,为什么浏览器阻止了该请求?

0 个答案:

没有答案