【问题标题】:Why javascript fetch only making OPTIONS and not making further calls?为什么 javascript fetch 只进行 OPTIONS 而不进行进一步调用?
【发布时间】:2018-01-24 00:15:06
【问题描述】:

我正在使用 javascript fetch 发出 AJAX 请求,但它只是发出 OPTIONS 调用,而不是进一步调用。最奇怪的是响应头很好,并且 $.ajax 按预期工作。

这是 OPTIONS 调用的响应标头。

HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/8.0
Access-Control-Allow-Origin: http://localhost:5000
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: authorization
X-Powered-By: ASP.NET
Access-Control-Max-Age: 30000000
Set-Cookie: XXXXXXXXXXXX
Date: Wed, 16 Aug 2017 00:57:48 GMT

这里是 fetch 标头集。

mode: 'cors',
credentials: 'include',
headers: {
    Authorization: 'Bearer Token'
}

【问题讨论】:

  • 因为它是 CORS 请求预检检查 - 请参阅 documentation on CORS - 奇怪的是您看不到 GET/POST(无论您实际在做什么)请求
  • 您确定它不再拨打电话了吗?因为你说它正在工作——所以它一定是在打另一个电话。
  • 我在网络标签上看不到它...@DaveNewton
  • @JaromandaX 我已经再次查看了 CORS 文档,但没有帮助。
  • 您可以将实际请求链接到OPTIONS请求的响应

标签: javascript ajax fetch-api http-options-method


【解决方案1】:

我今天遇到了同样的问题,我发现我的 POST 调用实际上正在发生,它只是没有显示在 Chrome XHR 网络过滤器下。通过将过滤器更改为“全部”,我能够看到请求。

【讨论】:

  • 谢谢伙计,我浪费了 30 分钟来发疯,这始终是最简单的事情。
  • 谢谢@Borre,你节省了我的时间:)
猜你喜欢
  • 2020-01-09
  • 1970-01-01
  • 2017-02-25
  • 2019-02-16
  • 1970-01-01
  • 2023-03-29
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多