获取api预检请求失败

时间:2017-12-07 03:34:27

标签: javascript api http cors fetch

我正在尝试从公共API发出GET请求,但似乎无法弄清楚为什么cors preflight请求会一直失败。

Response for preflight has invalid HTTP status code 404

我已经做了一些搜索,似乎这是需要改变服务器端的东西,但我只是想确保没有什么我可能做错了。我正在使用以下代码:

try {
  let guideData = await fetch(guideUrl, {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${json.access_token}`,
    }
  });
} catch(err) {
  console.log("Failed to fetch data", err);
}

我已经使用Postman和Hurl进行了测试,两者似乎工作正常,我无法让它在我的客户端上工作。

1 个答案:

答案 0 :(得分:1)

当您从Postman和Curl发送http请求时,两者的行为与Web浏览器不同。在您的情况下,您使用的是运行js的Web浏览器。代码本身看起来很好,减去了您需要对令牌进行编码以在发送时使授权工作的事实。

问题肯定似乎是服务器端,要点是当你发送OPTIONS它会告诉你它是否与你或服务器有关。很可能是你发布的回复,肯定是CORS。