【发布时间】:2011-12-24 18:30:21
【问题描述】:
有一个页面(url),我通过 XMLHttpRequest 请求它,但我没有从请求的 url 得到响应,它正在将请求定向到另一个页面,
请求 --- > page.php
从 > directedpage.php
问题是如何获得响应网址? (以directedpage.php为例)
【问题讨论】:
标签: javascript ajax xmlhttprequest response
有一个页面(url),我通过 XMLHttpRequest 请求它,但我没有从请求的 url 得到响应,它正在将请求定向到另一个页面,
请求 --- > page.php
从 > directedpage.php
问题是如何获得响应网址? (以directedpage.php为例)
【问题讨论】:
标签: javascript ajax xmlhttprequest response
最终 URL(在跟踪所有重定向之后)在 XMLHttpRequest 实例的 responseURL attribute 中可用。
此功能是新功能,仅在 2014 年 9 月的 Firefox 32 稳定版 [ref] 和 Chrome 37.0.2031.0 2014 年 8 月的稳定版 [ref] 中支持(可能还有 Opera 24) . responseURL 在 IE 11 或 Safari 7 及更早版本的浏览器中(尚不)受支持。对于这些浏览器,之前的答案依然成立:
XMLHttpRequest自动跟随重定向,而不将提供的 URL 保存在属性中。既不能通过.getResponseHeader()检索到Location标头。
参考资料:
【讨论】:
A=302—B=302—>C=302—>A=200。什么 responseURL 会返回? C还是A的ᴜʀʟ?
responseURL。如果服务器未使用预期的 CORS 响应标头进行响应。那么浏览器必须假设服务器不愿意主动提供敏感信息,因此它不会将重定向目标泄露给脚本。