Maison >développement back-end >tutoriel php >Pourquoi spécifier `contentType: \'application/json; charset=utf-8\'` inutile lors de l'envoi de données JSON à PHP à l'aide d'Ajax ?

Pourquoi spécifier `contentType: \'application/json; charset=utf-8\'` inutile lors de l'envoi de données JSON à PHP à l'aide d'Ajax ?

DDD
DDDoriginal
2024-11-02 02:40:30377parcourir

Why is specifying `contentType:

Envoi de données JSON vers PHP à l'aide d'Ajax

Dans le but de transférer des données au format JSON vers PHP pour traitement, les développeurs peuvent rencontrer des obstacles. L'un de ces défis consiste à transmettre des données JSON via Ajax à un script PHP.

Dépannage de l'échec de la transmission Ajax JSON

Pour résoudre ce problème, consultez l'extrait de code suivant :

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

La suppression de la ligne contentType : "application/json; charset=utf-8" est cruciale. Lors de l'envoi de données JSON à PHP à l'aide d'Ajax, il n'est pas nécessaire de spécifier le type de contenu comme JSON. Au lieu de cela, PHP analysera automatiquement les données transmises sous forme de chaîne JSON.

Approche simplifiée

Pour simplifier davantage le processus, éliminez l'utilisation de JSON.stringify et json_decode. Passez simplement l'objet de données directement à la requête Ajax :

<code class="javascript">data: {myData: postData},</code>

En PHP, accédez aux données JSON via $obj = $_POST['myData'];.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn