Heim  >  Artikel  >  Web-Frontend  >  Eine perfekte Verarbeitung von JSON-Daten kann keinen Erfolg bringen

Eine perfekte Verarbeitung von JSON-Daten kann keinen Erfolg bringen

php中世界最好的语言
php中世界最好的语言Original
2018-04-25 14:56:381929Durchsuche

Dieses Mal werde ich Ihnen die Vorsichtsmaßnahmen vorstellen, mit denen JSON-Daten nicht erfolgreich verarbeitet werden können und die mit perfekten JSON-Daten nicht erfolgreich sein können. Schauen wir uns das Folgende an .

1. jquery ruft JSON-Daten über die Ajax-Methode ab und führt den Erfolgsrückruf nicht aus

Problembeschreibung: jquery ruft JSON-Daten über die Ajax-Methode ab, führt sie jedoch nicht aus die Erfolgsrückrufmethode

Ursache des Problems: Es liegt ein Problem mit dem JSON-Format vor oder es entspricht nicht der Standardschreibmethode, was dazu führt, dass die Fehlerrückrufmethode immer ausgeführt wird

Lösung : Das JSON-Format muss den folgenden 3 Standardschreibmethoden entsprechen:

  1 ) Schlüsselname: in doppelte Anführungszeichen eingeschlossen;

2) Zeichenfolge : in doppelte Anführungszeichen eingeschlossen ;

3) Zahlen und boolesche Werte müssen keine doppelten Anführungszeichen verwenden

Hinweis: Es müssen doppelte Klammern sein!

2. In jQuery verwendet Ajax den Datentyp json überspringt immer die Erfolgsausführungsfehleranweisung

Führen Sie die Funktion

error : function(XMLHttpRequest, textStatus, errorThrown) {
//这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
    alert(XMLHttpRequest.responseText); 
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus); // parser error;
}

aus und Sie werden die Fehlermeldung verstehen; das Popup-Fenster

zeigt jedoch:

<!DOCTYPE html PUBLIC "-//W3C //DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD /xhtml1-transitional.dtd">以 及<?xml version="1.0" encoding="gb2312" ?>

an Ich weiß nicht warum. Nachdem ich es gelöscht habe, wurde der Erfolg erfolgreich ausgeführt

3 Wenn die URL in $.ajax() domänenübergreifend ist, wird der Erfolg immer nicht ausgeführt und es kommt ein Fehler wird immer eingegeben.

1) Ich habe ServletActionContext.getResponse().setHeader("Access-Control-Allow-Origin", "*");

um domänenübergreifende Probleme zu lösen Frage, Sie können den Erfolg problemlos eingeben

2) dataType: „json“,

entfernen Sie ihn und prüfen Sie, ob Sie den Erfolg eingeben können.

dataType ist die Art der Informationen, die voraussichtlich vom Server zurückgegeben werden.

Grund: Der zurückgegebene Datentyp muss dem definierten Datentyp entsprechen. Das heißt, wenn der von Ihnen definierte Datentyp vom Typ JSON ist, müssen die zurückgegebenen Daten JSON sein, andernfalls wird der fehlerhafte Programmblock ausgeführt.

(1) Gleichzeitig muss besonders darauf geachtet werden, ob die zurückgegebenen JSON-Daten im strikten JSON-Format vorliegen.

(2) Sie sollten sich auch beim Hintergrund ernsthafte Sorgen machen Gibt Listendaten zurück (die Elemente in der Liste, wenn die Daten im JSON-Format vorliegen). Wenn schmutzige Daten vorhanden sind, liegen sie nicht im strikten JSON-Format vor.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Welche Datentypen kann Ajax verarbeiten, die vom Server zurückgegeben werden?

Fortschritt während der Ajax-Anfrage anzeigen

Das obige ist der detaillierte Inhalt vonEine perfekte Verarbeitung von JSON-Daten kann keinen Erfolg bringen. 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