我想使用重定向到目标Location
带有 jQuery 1.7 的标头。
我的代码看起来像这样
$('#creationLink').click(function(){
$.ajax({
type: 'POST',
url: '/',
success: function(data, textStatus, xhr) {
window.location = xhr.getResponseHeader("Location");
}
})
});
...但它不起作用。xhr.getResponseHeader("Location")
一片空白。
HTTP 标头:
POST / HTTP/1.1
Host: localhost:9000
X-Requested-With: XMLHttpRequest
Content-Length: 0
HTTP/1.1 302 Found
Content-Type: text/plain; charset=utf-8
Location: http://localhost:9000/vIRdD0PdWp4/bearbeiten
Content-Length: 0
如何使用位置标头进行重定向?
AFAIK,浏览器应该在 XHR 期间透明地遵循响应标头中的重定向。也就是说,XHR 实际上会查看响应,查看 Location 标头,然后继续神奇地运行该 URI 的第二个请求。仅当其结果为that它会给你什么吗?它给你的是结果second要求。
See 这个 stackoverflow 答案!
因此,如果您需要重定向功能,则必须使您请求的内容以其他方式返回目标 URI,例如作为 JSON 响应。
See 这个堆栈溢出解决方案!
附言。参考:http://www.w3.org/TR/XMLHttpRequest/#infrastruct-for-the-send-method
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)