Chào mừng đến với tương lai!
Ngay bây giờ chúng ta có thuộc tính "responseURL" từ đối tượng xhr. ĐƯỢC!
Xem Cách lấy url phản hồi trong XMLHttpRequest?
Tuy nhiên, jQuery (ít nhất là 1.7.1) không cấp quyền truy cập trực tiếp vào đối tượng XMLHttpRequest. Bạn có thể sử dụng một cái gì đó như sau:
var xhr;
var _orgAjax = jQuery.ajaxSettings.xhr;
jQuery.ajaxSettings.xhr = function () {
xhr = _orgAjax();
return xhr;
};
jQuery.ajax('http://test.com', {
success: function(responseText) {
console.log('responseURL:', xhr.responseURL, 'responseText:', responseText);
}
});
Đó không phải là một giải pháp sạch và tôi cho rằng nhóm jQuery sẽ tạo ra một thứ gì đó cho responseURL trong các bản phát hành trong tương lai.
MẸO : chỉ cần so sánh URL gốc với responseUrl. Nếu nó bằng nhau thì không có chuyển hướng nào được đưa ra. Nếu nó là "không xác định" thì có thể responseUrl không được hỗ trợ. Tuy nhiên, như Nick Garvey đã nói, yêu cầu AJAX không bao giờ có cơ hội KHÔNG tuân theo chuyển hướng nhưng bạn có thể giải quyết một số tác vụ bằng cách sử dụng thuộc tính responseUrl .