Surmonter le piège des chaînes de requête : envoi de JSON avec $.ajax
Lors de l'utilisation de la méthode $.ajax de jQuery, conversion de vos données en requête string peut être un obstacle frustrant, surtout lorsqu’il s’agit de JSON. Cependant, avec quelques ajustements simples, vous pouvez facilement transmettre des données JSON réelles.
Confusion JSON vs chaîne de requête
Par défaut, $.ajax convertit toutes les données en un chaîne de requête, même lorsque vous spécifiez 'dataType: 'json''. Cela peut être gênant, car les tableaux de votre objet JSON seront convertis dans un format particulier.
Solution : sérialisez JSON et définissez le type de contenu
Pour résoudre ce problème , utilisez JSON.stringify pour sérialiser votre objet dans une chaîne JSON. De plus, vous devez spécifier le contentType comme « application/json » afin que votre serveur sache quel type de données il reçoit. Voici le code modifié :
$.ajax({ url: url, type: "POST", data: JSON.stringify(data), contentType: "application/json", complete: callback });
Considérations de compatibilité
La plupart des navigateurs modernes prennent en charge l'objet JSON de manière native, mais si vous devez prendre en charge les navigateurs existants, envisagez d'utiliser json2 bibliothèque pour des raisons de compatibilité.
En implémentant ces modifications, vous pouvez envoyer de manière transparente des données JSON via $.ajax, garantissant ainsi l'intégrité et la fonctionnalité de vos applications Web.
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!