Uwaga dotycząca wycofania: wywołania zwrotne jqXHR.success (), jqXHR.error () i jqXHR.complete () zostaną wycofane w jQuery 1.8. Aby przygotować kod do ostatecznego usunięcia, użyj zamiast tego jqXHR.done (), jqXHR.fail () i jqXHR.always ().
Ooh, nie zauważyłem. Dzięki za udostępnienie tego fragmentu dokumentacji. Cieszę się, że callbacki jQuery XHR w końcu pasują do Deferreds.
Michael Mior
2
Aha, ale metoda ajaxError ma zdarzenie, jqXHR, ajaxSettings, thrownError.
Phillip Senn
Wszystkie są tymi samymi wywołaniami zwrotnymi, które otrzymują te same argumenty, tylko różne zastosowania i konteksty.
nathanjosiah
6
Gdzie stwierdza, że wywołanie zwrotne niepowodzenia pobiera te 3 argumenty? Stwierdza to również dla całego parametru ustawień. Są one różne, np. Argumenty do completesą inne niż argumenty przekazane do done.
Tom
5
@Tom, wiem, że spóźnię się, aby odpowiedzieć, ale jest to napisane tutaj: api.jquery.com/jQuery.ajax/#jqXHR ( jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});)
Tak, myślę, że to, co próbują skojarzyć za pomocą słowa textStatus, to to, że jest to zmienna statusu i ma format tekstowy. W porównaniu do jqXHR, który jest obiektem jQuery.
error
zwrotnego:jqXHR, textStatus, errorThrown
.Odpowiedzi:
Według http://api.jquery.com/jQuery.ajax/ do
fail
zwrotnego powinno być uzyskanie:jqXHR, textStatus, errorThrown
to samo co
error
, aleerror
jest przestarzałe:źródło
complete
są inne niż argumenty przekazane dodone
.jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
)Oto przykład po szukaniu tego samego problemu:
Podczas debugowania mam:
źródło