Fehler Umgang mit cross-domain-jquery-ajax-call
Ich bin der Durchführung einer cross-domain-get-operation, wie unten gezeigt.
$.ajax({
type: "GET",
url: "http://localhost:65249/api/item/get",
data: {
searchText: "test"
},
dataType: "jsonp",
async: false,
success: function (results) {
alert(results);
},
error: function (jqXHR, error, errorThrown) {
if (jqXHR.status && jqXHR.status == 401) {
alert("Unauthorized request");
} else if (jqXHR.status && jqXHR.status == 404) {
alert("The requested page not found");
}
}
});
Aber der Erfolg oder Fehler block nicht immer genannt, nach der Anforderung abgeschlossen ist. wenn ich Debuggen von java-Skript in Entwickler-Konsole erhalte ich Fehler, aber Fehler blockieren von javascript ist nicht immer genannt.
GET http://localhost:65249/api/item/getallproducts?callback=jQuery182028460139059461653_1396510235829&searchText=test&_=1396510674779 401 (Unauthorized)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider, wenn Sie mit JSONP, alle requests, Rückgabe eines Fehlers fehl. Dies ist, weil JSONP verwendet ein script-tag statt XmlHttpRequest. Wenn Sie möchten, Fehler, Feuer, müssen Sie die Verwendung von XHR mit CORS. CORS konfiguriert werden muss, um auf der server-Seite, und es funktioniert auf client-Seite nur im IE 10+.
Fehler funktionieren nicht auf corss-domain Aufrufe, siehe jquery-doku. error:
Werfen Sie einen Blick auf diese Antwort:
JSONP-request-error-handling