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?

Warum ist die Angabe von „contentType: \"application/json; charset=utf-8\"` unnötig, wenn JSON-Daten mit Ajax an PHP gesendet werden?

DDD
DDDOriginal
2024-11-02 02:40:30298Durchsuche

Why is specifying `contentType:

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!

Stellungnahme:
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