Czy istnieje sposób sprawdzenia, czy zwracany obiekt jqXHR został przekierowany z innego żądania? Na przykład, mając następujący kod:Jak uzyskać status odpowiedzi jQuery.ajax?
jQuery.ajax({
type: 'POST',
url: 'http://example.com/page.html',
complete: function(response, status) {
console.log(response.statusCode);
// do something
}
});
Jeśli ajax url jest przekierowywany z 301 lub 302 kod stanu, odpowiedź będzie wynikiem przekierowany strony i zwróci 200 (OK) kod stanu. Myślę, że jest to błąd jQuery (nie wiem, czy to jest zamierzony beheavior, ponieważ ostateczna odpowiedź była rzeczywiście skuteczna) Nie mogę uzyskać oryginalnych nagłówków odpowiedzi, aby sprawdzić, czy istnieje nagłówek lokalizacji, ponieważ jest dostępny tylko w przypadku przekierowanych żądań.
Firebug z powyższego kodu rejestruje te dwa wnioski poprzez XHR
http://example.com/page.html 302 (Przeniesiony tymczasowo) http://example.com/redirect.html 200 (OK)
Ale jQuery tylko zwrócić dane z drugiego wniosku.
Być może istnieje sposób na uzyskanie danych z pierwszego wniosku? Lub uzyskać adres URL odpowiedzi i porównać go z oryginalnym żądaniem?