Kiedy patrzę na ciąg zapytania z żądania jsonp (kod klienta poniżej), są 2 obiekty, ciąg "wywołania zwrotnego", którego należy użyć w odpowiedzi (aby kody klientów prowadziły do procedury obsługi sukcesu) i z kluczem "_" ... po co to jest podkreślenie? Nie mogę znaleźć żadnego odniesienia do tego w żadnej dokumentacji, wydaje się być pewnego rodzaju.Co to jest podkreślenie w kwerendzie zapytania żądania jsonp ajax jQuery?
Chociaż może być użyty do kierowania do obsługi błędów (albo włączony, w połączeniu z oddzwanianiem, albo zastępuje numer po podkreśleniu w łańcuchu wywołania zwrotnego), ale nie wydaje się być .
url = 'http://localhost:11767/Handlers/MyHandler.ashx';
...
$.ajax({
url: url,
dataType: "jsonp",
error: function (jqXHR, textStatus, errorThrown) {
//...
},
success : function(d) {
//...
}
});
lub
uwaga $.getJSON(url + "?callback=?", function(d) {
}).success(function(d) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
//...
}).complete(function(d) {
//...
});
Side w przypadku pomaga ktoś czytając to: jak to jest prośba jsonp, błąd będzie hit tylko wtedy, gdy wyjątek występuje po stronie klienta, np istnieje limit czasu lub problem z formatowaniem odpowiedzi (tj. bez użycia wywołania zwrotnego), aby przezwyciężyć to, zawsze loguję się i połkam wyjątki w modułach obsługi, ale podaję standardowy obiekt odpowiedzi (z którego składa się cała odpowiedź) ma właściwość stanu wyjątku i właściwość komunikatu.
Mogę przynajmniej powiedzieć, że to na pewno nie jest dla obsługi błędów, ponieważ JSONP żąda wstawiania znacznika skryptu i nie ma procedury obsługi błędów, więc funkcja błędu w powyższym kodzie nigdy nie uruchomi się. Najprawdopodobniej podkreślenie nie jest w ogóle dla czegoś, co jest istotne dla XMLHttpRequest w ogóle? – adeneo
@adeneo - Doszedłem do tego samego wniosku (chociaż przeczytałem moją notatkę na dole RE obsługi błędu). Podkreślenie może nie mieć znaczenia, po prostu zastanawiałem się, co to jest, skąd się wzięło i czy było to przydatne? –