Heim > Artikel > Backend-Entwicklung > Warum ist die Angabe von „contentType: \"application/json; charset=utf-8\"` unnötig, wenn JSON-Daten mit Ajax an PHP gesendet werden?
Senden von JSON-Daten an PHP mit Ajax
Bei dem Versuch, JSON-formatierte Daten zur Verarbeitung an PHP zu übertragen, können Entwickler auf Hindernisse stoßen. Eine dieser Herausforderungen besteht darin, JSON-Daten über Ajax an ein PHP-Skript zu übertragen.
Fehlerbehebung bei fehlgeschlagener Ajax-JSON-Übertragung
Um dieses Problem zu beheben, lesen Sie den folgenden Codeausschnitt:
<code class="javascript">$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData: dataString}, // Remove this line: contentType: "application/json; charset=utf-8", success: function(data) { alert('Items added'); }, error: function(e) { console.log(e.message); } });</code>
Das Entfernen der Zeile contentType: „application/json; charset=utf-8“ ist entscheidend. Beim Senden von JSON-Daten an PHP mit Ajax ist es nicht erforderlich, den Inhaltstyp als JSON anzugeben. Stattdessen analysiert PHP die übertragenen Daten automatisch als JSON-String.
Vereinfachter Ansatz
Um den Prozess weiter zu vereinfachen, verzichten Sie auf die Verwendung von JSON.stringify und json_decode. Übergeben Sie das Datenobjekt einfach direkt an die Ajax-Anfrage:
<code class="javascript">data: {myData: postData},</code>
Greifen Sie in PHP über $obj = $_POST['myData']; auf die JSON-Daten zu.
Das obige ist der detaillierte Inhalt vonWarum ist die Angabe von „contentType: \"application/json; charset=utf-8\"` unnötig, wenn JSON-Daten mit Ajax an PHP gesendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!