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!