Heim >Web-Frontend >js-Tutorial >Warum sendet meine jQuery-AJAX-Anfrage Daten als Klartext statt als JSON?
Bei der Webentwicklung ist es oft entscheidend, Daten effizient zwischen der Client-Seite und dem Server zu übertragen. jQuery, eine beliebte JavaScript-Bibliothek, bietet praktische Methoden für die Abwicklung eines solchen Datenaustauschs. Eine häufige Aufgabe besteht darin, Daten im JSON-Format mithilfe von jQuery an den Server zu senden.
Aber manchmal stoßen Entwickler auf das Problem, dass Daten nicht im gewünschten JSON-Format, sondern als einfacher Text übertragen werden. Um zu verstehen, warum dies geschieht, untersuchen wir einen Codeausschnitt:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
Dieser Code versucht, die Daten im arr-Objekt mithilfe der $.ajax-Methode an den Ajax.ashx-Server zu senden. Das Problem tritt jedoch auf, weil der Code den Inhaltstyp der Anfrage nicht angibt oder die JSON-Anfrage nicht korrekt erstellt.
Um dies zu beheben, sollte die Methode JSON.stringify verwendet werden, um das JavaScript-Objekt in einen nativen JSON-String zu konvertieren :
var arr = { City: 'Moscow', Age: 25 }; $.ajax({ url: 'Ajax.ashx', type: 'POST', data: JSON.stringify(arr), contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
Wichtige Punkte, die Sie beachten sollten:
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum sendet meine jQuery-AJAX-Anfrage Daten als Klartext statt als JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!