【问题标题】:How to read redirect URL from 3xx fetch response?如何从 3xx 获取响应中读取重定向 URL?
【发布时间】:2020-04-11 18:36:05
【问题描述】:

我正在尝试从 3xx 重定向读取重定向 URL。 (我打算只阅读 location: https://myredirectedurl.com 标头并自己在 JS 中处理它。但是当我发出获取请求时,我收到了

CORS 策略已阻止从源“https://localhost:8000”在“https://myredirectedurl.com”(从“https://localhost:8000/somepath”重定向)获取的访问权限:没有“Access-Control-Allow-Origin”标头出现在请求的资源。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

我知道为什么会出现此错误,并且我确实了解 CORS 的工作原理。但是我不希望 fetch 函数执行重定向。

我读到on this stackoverflow questionredirect: 'manual' 属性如果设置可能会有所帮助。这确实阻止了 CORS 错误的出现并停止了重定向的请求,但是我现在无法读取 location: https://myredirectedurl.com 标头。我希望阅读这篇文章,以便我可以根据我的应用程序逻辑处理重定向,然后可能使用window.location.replace

【问题讨论】:

    标签: javascript header xmlhttprequest fetch


    【解决方案1】:

    我只是想更新一下,以防有人从搜索引擎中跌落到这里。这不可能。浏览器在客户端 JavaScript 甚至可以与之交互之前就透明地重定向。处理此问题的推荐方法是使用 som 2xx 状态进行重定向,然后从标头或内容中读取重定向 url。

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 2013-12-04
      • 2020-12-13
      • 1970-01-01
      • 2016-09-06
      • 2023-03-16
      • 2011-05-15
      • 1970-01-01
      • 2013-02-24
      相关资源
      最近更新 更多