Maison  >  Article  >  développement back-end  >  Pourquoi mes données JSON ne sont-elles pas reçues par PHP via Ajax ?

Pourquoi mes données JSON ne sont-elles pas reçues par PHP via Ajax ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 00:18:02168parcourir

Why is my JSON data not being received by PHP via Ajax?

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

Problème :
Lors de la tentative d'envoi de données JSON à un Fichier PHP via Ajax, les données ne sont pas reçues et le tableau $_POST contient des valeurs vides.

Résolution :

Pour résoudre ce problème, le paramètre contentType dans le La requête Ajax doit être supprimée. L'option contentType est utilisée lors de l'envoi de données brutes au serveur, mais dans ce cas, les données sont déjà dans un format JSON valide. En le supprimant, le serveur gérera automatiquement correctement les données JSON.

De plus, les fonctions JSON.stringify et json_decode ne sont pas nécessaires dans ce contexte. Au lieu de cela, l'objet postData peut être utilisé directement comme charge utile de la requête.

Code Ajax mis à jour :

$.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);
  }
});

Code PHP mis à jour :

if(isset($_POST['myData'])){
  $obj = $_POST['myData'];
  // Some PHP operation
}

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