javascript - 如何从 3xx 获取响应中读取重定向 URL?
问题描述
我正在尝试从 3xx 重定向读取重定向 URL。(我打算只阅读location: https://myredirectedurl.com
标题并自己在 JS 中处理它。但是当我发出获取请求时,我收到了
CORS 策略已阻止从源“ https://localhost:8000 ”访问“ https://myredirectedurl.com ”(从“ https://localhost:8000/somepath ”重定向)获取:无“访问-请求的资源上存在 Control-Allow-Origin' 标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
我知道为什么会出现此错误,并且我确实了解 CORS 的工作原理。但是我不希望 fetch 函数执行重定向。
我在这个 stackoverflow 问题上读到,redirect: 'manual'
如果设置了该属性可能会有所帮助。这确实阻止了 CORS 错误的出现并停止了重定向的请求,但是我现在无法读取location: https://myredirectedurl.com
标头。我希望阅读此内容,以便我可以根据我的应用程序逻辑处理重定向,然后可能使用window.location.replace
解决方案
我只是想更新一下,以防有人从搜索引擎中绊倒。这不可能。浏览器在客户端 JavaScript 甚至可以与之交互之前就透明地重定向。处理此问题的推荐方法是使用 som 2xx 状态进行重定向,然后从标头或内容中读取重定向 URL。
推荐阅读
- java - Android Studio,定义一个 JAVA_HOME 变量
- php - 无法从 php 中的其他脚本访问会话变量
- c++ - std::cout 如何处理 char 指针?
- python - 将字典列表值写入文本文件
- c++ - 为虚拟基类的虚拟基类调用了错误的构造函数
- javascript - Express get route 不起作用,postman 请求在卡住一段时间后超时
- c++ - 在 C++ 中声明和初始化 char 数组
- python - 在python中将表情符号转换为阿拉伯语文本
- c - 将 C 中的 char 变量与十六进制值相结合
- python - 通过 OpenCV 裁剪检测到的图像