有什么方法可以知道返回的 jqXHR 对象是否是从另一个请求重定向的?例如,具有以下代码:
jQuery.ajax({
type: 'POST',
url: 'http://example.com/page.html',
complete: function(response, status) {
console.log(response.statusCode);
// do something
}
});
如果 ajax url 使用 301 或 302 状态码重定向,则响应将是重定向页面的结果,并将返回 200(OK)状态码。我认为这是一个 jQuery 的错误(真的不知道这是否是预期的行为,因为最终响应实际上是成功的)我无法获得原始响应标头来检查是否存在位置标头,因为这是仅适用于重定向请求。
使用上述代码的 Firebug 通过 XHR 记录这两个请求
http://example.com/page.html 302(暂时移动) http://example.com/redirect.html 200(正常)
但是 jQuery 只返回来自第二个请求的数据。
也许有一种方法可以从第一个请求中获取数据?或者获取响应 URL 并将其与原始请求中的 URL 进行比较?