Heim >Web-Frontend >js-Tutorial >Warum löst meine jQuery-Ajax-Anfrage trotz eines Statuscodes von 200 OK das Fehlerereignis aus?

Warum löst meine jQuery-Ajax-Anfrage trotz eines Statuscodes von 200 OK das Fehlerereignis aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 02:35:13292Durchsuche

Why Does My jQuery Ajax Request Fire the Error Event Despite a 200 OK Status Code?

Behandlung von 200 OK-Fehlern in Ajax-Anfragen

Bei Ajax-Anfragen sollte der Empfang eines 200 OK-Statuscodes normalerweise das Erfolgsereignis ausführen. In einigen Fällen kann es jedoch sein, dass jQuery stattdessen das Fehlerereignis auslöst.

Verstehen des Problems

Bei der Ausführung von Ajax-Anfragen versucht jQuery, den Antworttext basierend auf dem zu konvertieren angegebenen dataType-Parameter. Wenn die Konvertierung aufgrund ungültiger Daten fehlschlägt, löst jQuery den Fehlerrückruf aus.

Lösung

Im bereitgestellten Code erwartet jQuery aufgrund des Datentyps eine JSON-Antwort: „ json“-Parameter. Der serverseitige C#-Code gibt jedoch stattdessen ein HTML-Snippet zurück.

Um dieses Problem zu beheben, entfernen Sie den dataType-Parameter aus dem jQuery-Code. Alternativ kann der serverseitige Code geändert werden, um eine gültige JSON-Antwort zurückzugeben, wie zum Beispiel:

private void test()
{
    var data = new
    {
        message = "Record Deleted"
    };
    var json = JsonConvert.SerializeObject(data);
    Response.Write(json);
}

Dadurch wird sichergestellt, dass jQuery die Antwort korrekt als JSON analysieren und das Erfolgsereignis ausführen kann.

Das obige ist der detaillierte Inhalt vonWarum löst meine jQuery-Ajax-Anfrage trotz eines Statuscodes von 200 OK das Fehlerereignis aus?. 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