所以我试图通过jQuery get从头响应中获取位置.我尝试使用getResponseHeader('Location')和getAllResponseHeaders(),但它们似乎都返回null.
这是我目前的代码
$(document).ready(function(){
var geturl;
geturl = $.ajax({
type: "GET",
url: 'http://searchlight.cluen.com/E5/Login.aspx?URLKey=uzr7ncj8)',
});
var locationResponse = geturl.getResponseHeader('Location');
console.log(locationResponse);
});
Run Code Online (Sandbox Code Playgroud) 我在我的Web应用程序中遵循PRG(Post-Redirect-Get)模式,并使用类似以下内容来执行大多数POST:
$.ajax({
type: 'POST',
url: 'A.html',
data: '....',
statusCode: {
302: function() {
alert("302"); // this is never called
},
200: function() {
alert("200");
},
},
success: function (data, textstatus) {
alert('You are now at URL: ' + ??);
},
error: function (data) {
},
complete: function (jqXHR, textstatus) {
alert('You are now at URL: ' + ??);
},
});
Run Code Online (Sandbox Code Playgroud)
我需要在任何重定向发生后获取URL,即.ajax()函数调用的最终GET的URL.例如,对A.html的POST可以重定向到B.html或C.html(总是通过302的).我如何获得最终的URL?
我正在使用jquery 1.5.1,并且使用代理已经见证了jquery正在默默地遵循重定向 - 我很满意.我不关心用302响应的任何URL - 我只想知道.ajax()的"success:"或"complete:"钩子被触发时最终请求的URL.
我正在寻找XMLHttpRequest.responseURL进入IE的方法.
我的代码(myreq.responseURL)可以使用Chrome,Firefox和Safari正常运行.
有没有办法在IE中做同样的事情(也使用另一个功能)?
任何帮助都非常感谢.