Heim > Web-Frontend > js-Tutorial > So senden Sie JSON-Daten mit jQuery: Formularcodierte Zeichenfolgen vermeiden?

So senden Sie JSON-Daten mit jQuery: Formularcodierte Zeichenfolgen vermeiden?

DDD
Freigeben: 2024-11-04 09:02:30
Original
884 Leute haben es durchsucht

How to Send JSON Data with jQuery: Avoiding Form-Encoded Strings?

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);
        }
    }
);
Nach dem Login kopieren

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:

  1. 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);
    Nach dem Login kopieren
  2. 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',
    Nach dem Login kopieren

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);
    }
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage