Dieser Artikel bietet Ihnen hauptsächlich eine perfekte Lösung für den Parsererror-Fehler bei domänenübergreifenden Ajax-Anfragen. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
Der von einer Ajax-Anfrage gemeldete Parserfehler ist ein sehr weit gefasstes Konzept.
In vielen Fällen wird ein Fehler gemeldet, auch wenn Ajax normal sendet und zurückgibt >
XMLHttpRequest.status=200 (normale Antwort)
XMLHttpRequest.readyState=4 (normaler Empfang)
Ajax löst auch einen Parseerror-Fehler aus .
Dieser Fehler wird meist durch schlechte Schreibgewohnheiten oder falsche Grammatik verursacht.
Für Ajax-Fehler verwenden Sie bitte:
error:function(XMLHttpRequest, textStatus, errorThrown){
$("p").html(textStatus);
$("p").append("<br/>"XMLHttpRequest.status);
$("p").append("<br/>"XMLHttpRequest.readyState);
$("p").append("<br/>"XMLHttpRequest.responseText);
}
Nach dem Login kopieren
oder:
$("p").ajaxError(function(event,request, settings){
$(this).append("<li>出错页面:" + settings.url + "</li>");
});
Nach dem Login kopieren
Erhalten Sie fehlerbezogene Informationen zur Analyse.
textStatus gibt null, „timeout“, „error“, „notmodified“ und „parsererror“ zurück.
Das XMLHttpRequest-Objekt kann Status, readyState, ResponseText und andere Attribute verwenden, um den vom Server zurückgegebenen HTTP-Code, den Verarbeitungsstatus und den Textinhalt abzurufen
Im Prozess der Verwendung von Ajax und die damit verbundene Anwendungsentwicklung. Programme müssen gemäß Standards geschrieben werden, um das Fehlerrisiko zu verringern
Dieser Standard umfasst Syntax, Datenformat, Zeichensetzung usw.
In Ajax-Cross-Request , wenn die Daten leer sind, verwenden Sie bitte;
data:"{}",
Wenn der Ajax-Verarbeitungsserver Daten im Json-Format zurückgibt, wenn die Methode $.parseJSON() vorhanden ist verwendet,
dann muss das vom Server zurückgegebene Json-Datenformat im Standard-Json-Format geschrieben werden.
muss in doppelte Anführungszeichen anstelle von einfachen Anführungszeichen gesetzt werden und boolesche Typen werden nicht für Null verwendet
Dies ist hauptsächlich auf den Unterschied zwischen einfachen und doppelten Anführungszeichen in einigen alten JQuery-Versionen zurückzuführen, was zu Fehlermeldungen führt.
In Für domänenübergreifende Ajax-Anfragen (jsonp) muss das vom Server zurückgegebene Datenformat wie folgt lauten:
myCallbackFunction({"id":1,"name":"C#","is_familiar":true });
Bitte beachten Sie, dass am Ende dieser Funktion das Semikolon „;“ hinzugefügt werden muss,
Andernfalls, wenn mehrere Ajax-Anfragen auf derselben Seite vorhanden sind , und wenn die Daten nicht zurückgegeben werden, wenn andere Ajax-Anfragen ausgegeben werden,
Es kann eine Parserfehler-Fehlermeldung erscheinen.
Diese Art von Fehler ist sehr versteckt und währenddessen schwer zu finden Entwicklung. Es wird bei gleichzeitigen Tests leicht aufgedeckt.
Verwandte Empfehlungen:
Lösung für das Problem des Cookie-Verlusts beim domänenübergreifenden Ajax-Zugriff_AJAX bezogen
JS implementiert Ajax-Cross-Domain-Request-Flask-Response-Inhalte
Detaillierte Beispiele der Prinzipien von Ajax-Cross-Domain-Anfragen
Das obige ist der detaillierte Inhalt vonFehlerlösung für Parserfehler unter domänenübergreifender Ajax-Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!