Heim  >  Artikel  >  Backend-Entwicklung  >  Fehlerlösung für Parserfehler unter domänenübergreifender Ajax-Anfrage

Fehlerlösung für Parserfehler unter domänenübergreifender Ajax-Anfrage

小云云
小云云Original
2018-01-08 13:23:534409Durchsuche

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);
}
oder:


$("p").ajaxError(function(event,request, settings){
   $(this).append("<li>出错页面:" + settings.url + "</li>");
});
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn