Senden von JSON-Daten an PHP mit Ajax
Problem:
Beim Versuch, JSON-Daten an a zu senden PHP-Datei über Ajax, die Daten werden nicht empfangen und das Array $_POST enthält leere Werte.
Lösung:
Um dieses Problem zu beheben, muss der contentType-Parameter in der Die Ajax-Anfrage sollte entfernt werden. Die Option „contentType“ wird beim Senden von Rohdaten an den Server verwendet. In diesem Fall liegen die Daten jedoch bereits in einem gültigen JSON-Format vor. Durch das Entfernen verarbeitet der Server die JSON-Daten automatisch korrekt.
Außerdem sind die Funktionen JSON.stringify und json_decode in diesem Zusammenhang nicht erforderlich. Stattdessen kann das postData-Objekt direkt als Anforderungsnutzlast verwendet werden.
Aktualisierter Ajax-Code:
$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData: postData}, success: function(data){ alert('Items added'); }, error: function(e){ console.log(e.message); } });
Aktualisierter PHP-Code:
if(isset($_POST['myData'])){ $obj = $_POST['myData']; // Some PHP operation }
Das obige ist der detaillierte Inhalt vonWarum werden meine JSON-Daten nicht über Ajax von PHP empfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!