Heim > Web-Frontend > js-Tutorial > Wie sende ich JSON-Daten mit jQuerys $.ajax ohne Konvertierung der Abfragezeichenfolge?

Wie sende ich JSON-Daten mit jQuerys $.ajax ohne Konvertierung der Abfragezeichenfolge?

Patricia Arquette
Freigeben: 2024-11-03 12:56:02
Original
462 Leute haben es durchsucht

How to Send JSON Data with jQuery's $.ajax Without Query String Conversion?

JSON-Übertragung in jQuery: Der Abfragezeichenfolge-Falle entkommen

Bei der Verwendung der $.ajax-Funktion von jQuery kommt es häufig zu einem unerwarteten Verhalten, bei dem als JSON gesendete Daten automatisch gesendet werden in einen Abfragestring umgewandelt. Dies kann problematisch sein, wenn Ihre Anwendung auf den Empfang tatsächlicher JSON-Objekte angewiesen ist.

Das irreführende Attribut „dataType: 'json“

Der erste Instinkt ist das Festlegen das Attribut „dataType“ auf „json“, um den erwarteten Datentyp anzugeben. Dies bestimmt jedoch nur den vom Server erwarteten Datentyp und nicht, was Sie an ihn senden.

Lösung: JSON.stringify und Inhaltstyp

Zu lösen Um dieses Problem zu lösen, müssen Sie JSON.stringify verwenden, um Ihr JavaScript-Objekt in einen JSON-String zu serialisieren. Darüber hinaus müssen Sie die Eigenschaft „contentType“ auf „application/json“ setzen, um dem Server mitzuteilen, dass es sich bei den gesendeten Daten um JSON handelt.

$.ajax({
    url: url,
    type: "POST",
    data: JSON.stringify(data),
    contentType: "application/json",
    complete: callback
});
Nach dem Login kopieren

Legacy Support

Moderne Browser bieten native JSON-Funktionalität. Wenn jedoch Legacy-Unterstützung erforderlich ist, kann die json2-Bibliothek verwendet werden, um das JSON-Verhalten für ältere Umgebungen zu emulieren.

Das obige ist der detaillierte Inhalt vonWie sende ich JSON-Daten mit jQuerys $.ajax ohne Konvertierung der Abfragezeichenfolge?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage