"预检响应中的访问控制允许标头不允许标头" (React App)

时间:2016-12-31 00:13:25

标签: javascript http reactjs request

编辑:所以我更改了我的代码,以便我自己处理base64编码,这可能是必要的。

现在我遇到了一个新问题。我收到的CORS预检错误如下:

Fetch API cannot load http://flightxml.flightaware.com/json/FlightXML2/FlightInfo. Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

如果我弄错了,请纠正我:这意味着服务器不允许"授权" HTTP请求中的标头(没有任何意义,因为文档明确告诉我对用户名和API密钥进行编码并将其作为auth标头传递)。

我看到有关此问题的其他帖子,但由于我没有构建服务器,我无法进入并进行允许auth标头的更改。

有什么新想法吗?非常感谢你!

原始帖子:

我正在构建一个与FlightAware API集成的React应用程序。

我制作了一个FlightAware组件来处理对API的HTTP请求。我想从一个简单的请求开始,以获取有关给定飞机飞行的信息。不幸的是,尽管通过州提供我的证书,我仍然会收到401未经授权的回复。

(我知道这不是最佳做法,我暂时只是为了让请求正常运行。)

知道我在这里做错了什么吗?这是请求的代码:

componentDidMount() {  
  var form = new FormData();
  form.append('ident', this.state.flightnum);
  form.append('howMany', '10');
  form.append('offset', '0');

  fetch('http://flightxml.flightaware.com/json/FlightXML2/FlightInfo', {
    method: 'GET',
    auth: {
      user: this.state.user,
      pass: this.state.key
    },
    data: form
  })
  .then(result => {
    // do something...
  });
}

0 个答案:

没有答案