Lors de l'utilisation de la fonction $.ajax de jQuery, il est courant de rencontrer un comportement inattendu où les données envoyées au format JSON sont automatiquement converti en chaîne de requête. Cela peut être problématique si votre application repose sur la réception d'objets JSON réels.
Le premier réflexe est de définir l'attribut 'dataType' à 'json' pour spécifier le type de données attendu. Cependant, cela dicte uniquement le type de données attendu du serveur, pas ce que vous lui envoyez.
Pour résoudre Pour résoudre ce problème, vous devez utiliser JSON.stringify pour sérialiser votre objet JavaScript dans une chaîne JSON. De plus, vous devez définir la propriété « contentType » sur « application/json » pour indiquer au serveur que les données envoyées sont au format JSON.
$.ajax({ url: url, type: "POST", data: JSON.stringify(data), contentType: "application/json", complete: callback });
Les navigateurs modernes offrent des fonctionnalités JSON natives. Cependant, si une prise en charge héritée est requise, la bibliothèque json2 peut être utilisée pour émuler le comportement JSON pour les environnements plus anciens.
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!