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

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

DDD
DDDOriginal
2024-11-04 09:02:30827Durchsuche

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);
        }
    }
);

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);
  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',

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!

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