【问题标题】:Fetch api preflight request failing获取 api 预检请求失败
【发布时间】:2018-05-21 02:17:36
【问题描述】:

我正在尝试从公共 API 发出 GET 请求,但似乎无法弄清楚为什么 cors 预检请求不断失败。

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 进行了测试,似乎都可以正常工作,但我无法让它在我的客户端上工作。

【问题讨论】:

  • POSTMAN进行命中时尝试OPTIONS方法

标签: javascript api http cors fetch


【解决方案1】:

当您从 Postman 和 Curl 发送 http 请求时,两者的行为不像 Web 浏览器那样。在您的情况下,您使用的是运行 js 的网络浏览器。代码本身看起来不错,但您需要对令牌进行编码以使授权在发送时起作用。

问题肯定出在服务器端,要点是当您发送OPTIONS 时,它会告诉您是您的问题还是服务器的问题。很有可能来自您发布的回复,肯定是 CORS。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 2017-03-04
    • 2022-11-06
    • 2020-08-06
    • 2013-10-24
    • 2019-07-09
    • 2018-05-04
    • 2016-07-25
    • 2017-03-10
    相关资源
    最近更新 更多