Heim  >  Artikel  >  Web-Frontend  >  So senden Sie JSON-Daten mit jQuery: Warum erhalte ich stattdessen eine Abfragezeichenfolge?

So senden Sie JSON-Daten mit jQuery: Warum erhalte ich stattdessen eine Abfragezeichenfolge?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 10:30:30131Durchsuche

How to Send JSON Data with jQuery: Why Am I Receiving a Query String Instead?

Verstehen der JSON-Datenübertragung mit jQuery

Das Senden von Daten im JSON-Format ist entscheidend für eine effiziente Kommunikation zwischen Webseiten und Servern. Wenn Sie jedoch feststellen, dass Daten unformatiert gesendet werden, z. B. „Stadt=Moskau&Alter=25“, liegt dies möglicherweise an der fehlenden ordnungsgemäßen Anforderungskonfiguration.

Der bereitgestellte Code versucht, JSON-Daten mithilfe von jQuery zu senden $.ajax()-Methode. Standardmäßig konvertiert jQuery Daten in eine Abfragezeichenfolge, was zum Format „Stadt=Moskau&Alter=25“ führt. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Verwenden Sie JSON.stringify(): Konvertieren Sie das JavaScript-Objekt (arr) mit JSON.stringify() in einen JSON-String.
  2. Anforderungsinhaltstyp festlegen: Geben Sie mithilfe der contentType-Eigenschaft den Anforderungsinhaltstyp als „application/json; charset=utf-8“ an. Dadurch wird der Server darüber informiert, dass die Daten als JSON gesendet werden.
  3. JSON-Antwort sicherstellen: Legen Sie die dataType: 'json'-Eigenschaft fest, um anzugeben, dass die erwartete Antwort vom Server in JSON erfolgen sollte Format.

Hier ist der korrigierte Code:

<code class="javascript">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);
    }
});</code>

Zusätzliche Hinweise:

  • arr ist kein Array, sondern ein JavaScript-Objekt. Arrays sind in [] eingeschlossen.
  • Der Erfolgsrückruf analysiert die JSON-Antwort automatisch in ein JavaScript-Objekt, wenn der Server das HTTP-Protokoll respektiert und mit „Content-Type: application/json“ antwortet.

Das obige ist der detaillierte Inhalt vonSo senden Sie JSON-Daten mit jQuery: Warum erhalte ich stattdessen eine Abfragezeichenfolge?. 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