Heim > Artikel > Web-Frontend > So senden Sie JSON-Daten mit jQuery: Formularcodierte Zeichenfolgen vermeiden?
JSON-Daten mit jQuery senden: Formularcodierte Zeichenfolgen vermeiden
Beim Verwenden von jQuerys $.ajax() zum Übertragen von JSON-Daten können Entwickler möglicherweise Es treten Probleme auf, bei denen die Daten als formcodierte Zeichenfolgen und nicht im vorgesehenen JSON-Format gesendet werden. Dies tritt auf, wenn bestimmte Parameter weggelassen werden.
Bedenken Sie den folgenden Code:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
In diesem Code werden die Daten als formcodierte Zeichenfolgen gesendet (z. B. „Stadt=Moskau&Alter= 25") anstelle von JSON. Um dieses Problem zu beheben, müssen zwei entscheidende Schritte unternommen werden:
Daten in das JSON-Format konvertieren:
Verwenden Sie die Methode JSON.stringify(), um die zu konvertieren JavaScript-Objekt (arr) in eine JSON-Zeichenfolge.
var arr = { City: 'Moscow', Age: 25 }; var json_data = JSON.stringify(arr);
Anforderungsinhaltstyp angeben:
Setzen Sie die contentType-Eigenschaft auf 'application/json; charset=utf-8', um anzugeben, dass die Anfrage JSON-Daten enthält.
contentType: 'application/json; charset=utf-8',
Der korrigierte Code unten enthält diese Änderungen:
$.ajax({ url: 'Ajax.ashx', type: 'POST', data: json_data, contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
Diese Anpassungen stellen sicher dass die Daten als JSON gesendet werden, sodass der Server die Anfrage korrekt verarbeiten und die gewünschte JSON-Antwort zurückgeben kann.
Das obige ist der detaillierte Inhalt vonSo senden Sie JSON-Daten mit jQuery: Formularcodierte Zeichenfolgen vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!