【问题标题】:Post method not working in edge browser, but it is working in other browser like Firefox. internet explorer, chromePost 方法在边缘浏览器中不起作用,但在 Firefox 等其他浏览器中起作用。互联网浏览器, 铬
【发布时间】:2023-04-06 18:32:01
【问题描述】:

我在边缘浏览器中使用 post 方法苦苦挣扎,而对于相同的请求,我在 Internet Explorer、chrome、Firefox 等其他浏览器中得到响应,但在边缘没有。 虽然我做了很多分析,但我无法弄清楚为什么发布请求仅在边缘工作 我对在网络标签中看到的行为表示怀疑。

请找到附加的网络选项卡快照(我已从屏幕截图中删除了某些策略的 url 和名称) 现在的问题是 1. 为什么在协议选项卡中尽管显示 HTTPS 却显示“待处理”,而在结果选项卡中也没有显示任何状态,只是“待处理”,而在发起程序选项卡中显示“获取”

现在我在 Firefox 浏览器中附加相同的请求

在这张图中我们可以看到完整的请求头和响应头信息

到目前为止,我发现有关此请求的所有内容都正确,但我不知道为什么它不起作用,我有一个疑问是我们拥有的响应标头

Access-Control-Allow-Methods: GET, POST, OPTIONS

我们还需要在这里添加 FETCH 吗? 我在这里有另一个疑问,即在这个项目中 iframe 标签正在被使用,这可能是造成这种情况的原因吗?

我需要对我的请求标头或响应标头进行任何更改吗?还是我需要某种配置

我正在使用角度 7 任何帮助表示赞赏任何进一步的解释请评论,以便我澄清 提前致谢

注意:在做一些研究时,我发现对于边缘浏览器,我们需要以我已经完成的字符串格式发送请求

【问题讨论】:

  • 您使用的 Edge 版本是什么?控制台有错误吗?这听起来像一个CORS问题。您可以参考this thread。在 CORS 情况下,Edge 只会发出GET 请求,而使其他请求失败。您可以尝试发出 GET 请求或使其脱离 CORS 情况,然后测试它是否有效。

标签: javascript angular iframe https microsoft-edge


【解决方案1】:

在对我的代码库进行了一些研究后,我发现代码没有任何问题,而不是在发现之后,这是 Microsoft Edge 浏览器版本 42 上的未解决问题,-Edge 将请求/响应标记为无限期未决请求,其中包含内容- encoding:identity - 问题可以在以下链接中提到的微软官方网站上找到

[链接已删除,不再存在]

我在 Microsoft Edge 浏览器的 Dev 通道和 Canary 通道上测试了相同的请求,它在哪里工作正常,这意味着在 Microsoft Edge 的未来版本中,这个问题将得到修复。开发通道和金丝雀通道的边缘可以在下面的链接中找到

download microsoft edge canary/dev channel

【讨论】:

  • 感谢您发布此问题的解决方案。您可以将您的答案标记为已接受的答案。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解。
猜你喜欢
  • 2014-10-13
  • 1970-01-01
  • 2014-09-26
  • 2017-07-28
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多