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