Heim > Backend-Entwicklung > PHP-Tutorial > Wie dekodiere ich JSON-Daten von Ajax in PHP?

Wie dekodiere ich JSON-Daten von Ajax in PHP?

DDD
Freigeben: 2024-10-31 05:03:30
Original
573 Leute haben es durchsucht

How to Decode JSON Data from Ajax in PHP?

JSON-Daten von Ajax in PHP dekodieren

Beim Versuch, JSON-Daten von einer Ajax-Anfrage an ein PHP-Skript zu senden, kann es zu einer Fehlermeldung kommen Problem, bei dem die Daten nicht ordnungsgemäß empfangen oder analysiert werden. Um dieses Problem zu lösen, stellt sich häufig die Frage, wie JSON-Daten effektiv von Ajax gesendet und in PHP dekodiert werden können.

Lösung

1. Content-Type-Header entfernen

Entfernen Sie in der Ajax-Anfrage den ContentType-Header:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "add_cart.php",
    data: {myData:dataString}
});
Nach dem Login kopieren

2. Direkte Variablenzuweisung verwenden

Greifen Sie in PHP direkt von $_POST aus auf die JSON-Daten zu, ohne json_decode zu verwenden:

if(isset($_POST['myData'])){
    $obj = $_POST['myData'];
    //some php operation
}
Nach dem Login kopieren

Grund

Der Grund, warum der ursprüngliche Code nicht funktionierte, liegt darin, dass der ContentType-Header auf application/json gesetzt war. Dies zeigte PHP an, dass die gesendeten Daten im JSON-Format vorlagen, was nicht der Fall ist. Bei den Daten handelt es sich eigentlich um eine normale POST-Abfrage, die einen JSON-String enthält.

Durch das Entfernen des contentType-Headers senden Sie die Daten als reguläre POST-Abfrage und ermöglichen PHP, die String-Konvertierung automatisch durchzuführen.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich JSON-Daten von Ajax in PHP?. 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