Heim >Web-Frontend >js-Tutorial >Warum löst eine Ajax-Antwort „200 OK' manchmal ein Fehlerereignis aus?
200 OK-Antwort löst Fehlerereignis in Ajax aus: Grundursache und Lösung
Wenn eine Ajax-Anfrage eine 200 OK-Antwort zurückgibt, ist das Standardverhalten von jQuery besteht darin, das Erfolgsereignis auszuführen. In einigen Fällen kann jedoch stattdessen ein Fehlerereignis ausgelöst werden. Diese Diskrepanz ergibt sich aus einer Diskrepanz zwischen der erwarteten Antwort und der tatsächlichen Antwort.
Der Fall einer ungültigen JSON-Antwort
Im bereitgestellten Beispiel gibt der jQuery-Code einen dataType an von „json“. Dies veranlasst jQuery, eine gültige JSON-Antwort vom Server zu erwarten. Der C#-Code gibt jedoch HTML mit dem Statuscode 200 OK zurück.
Da die Antwort nicht dem erwarteten JSON-Format entspricht, interpretiert jQuery sie als Fehler und löst das Fehlerereignis aus. Um dieses Problem zu beheben, wird empfohlen, den dataType-Parameter aus dem jQuery-Code zu entfernen. Dadurch wird jQuery angewiesen, die Antwort als Rohdatenzeichenfolge zu behandeln.
Eine JavaScript-Antwort zurückgeben
Eine andere Lösung besteht darin, den serverseitigen Code so zu ändern, dass er eine gültige Antwort zurückgibt JavaScript-Antwort. Dies kann erreicht werden, indem der Content-Type-Header auf „application/javascript“ gesetzt und dann der gewünschte JavaScript-Code (z. B. „alert('Record Deleted');“) als Antwort eingebettet wird.
Zurückgeben einer JSON-Antwort
Für mehr Flexibilität ist es oft vorzuziehen, eine JSON-Antwort zurückzugeben und die Analyse und Anzeige im Erfolg zu übernehmen Rückruf. Dazu sollte der serverseitige Code:
Im jQuery-Code kann der Erfolgsrückruf dann geändert werden, um den zu analysieren JSON-Antwort und zeigen Sie die Nachricht entsprechend an.
Das obige ist der detaillierte Inhalt vonWarum löst eine Ajax-Antwort „200 OK' manchmal ein Fehlerereignis aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!