我知道重定向是自动执行的,并且我对该流程几乎没有控制。很好,但是我仍然对我的请求最终在哪里感兴趣。是否有可能看到我的请求最终到达的URL?
我 不 希望靠返回的HTML本身告诉我,我在哪里。
样例代码:
var originalURL = '/this/will/be/redirected'; $.ajax({ url: originalURL, dataType: "html", success: function(data, statusText, jqXHR) { var endPointURL = insertMagicHere(); alert("Our query to " + original + " ended up at " + endPointURL + "!"); } });
我正在jqXHR中寻找它,但是到目前为止还没有运气。(尽管如此,我是新手,可能就在我的鼻子下面)
据我所知(并拥有睾丸),唯一可能的方法是检测IF是否存在重定向以及进行了多少重定向(而不是TO到哪里)。
您可以看一下我的代码:
var xhr = $.ajax({ url: originalURL, dataType: "html", success: function(data, statusText, jqXHR) { console.log(data); console.log(statusText); console.log(jqXHR.getAllResponseHeaders()); } });
jqXHR.getAllResponseHeaders()我的开发机上的输出是这样的:
jqXHR.getAllResponseHeaders()
Date: Fri, 05 Aug 2011 01:29:20 GMT Server: ... X-Powered-By: ... Content-Length: 5 Keep-Alive: timeout=15, max=98 Connection: Keep-Alive Content-Type: text/html
本Keep-Alive: timeout=15, max=98值得在有更深入的了解。max=99一会儿没有重定向,一会儿出现max=98
Keep-Alive: timeout=15, max=98
max=99
max=98