Maison > Article > interface Web > Comment envoyer des données JSON avec jQuery : éviter les chaînes codées par formulaire ?
Envoyer des données JSON avec jQuery : éviter les chaînes codées par formulaire
Lors de l'utilisation de $.ajax() de jQuery pour transmettre des données JSON, les développeurs peuvent rencontrez des problèmes où les données sont envoyées sous forme de chaînes codées sous forme de formulaire au lieu du format JSON prévu. Cela se produit lorsque certains paramètres sont omis.
Considérez le code suivant :
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
Dans ce code, les données sont envoyées sous forme de chaînes codées sous forme de formulaire (par exemple, "City=Moscow&Age= 25") plutôt que JSON. Pour résoudre ce problème, deux étapes cruciales doivent être suivies :
Convertir les données au format JSON :
Utilisez la méthode JSON.stringify() pour convertir le Objet JavaScript (arr) dans une chaîne JSON.
var arr = { City: 'Moscow', Age: 25 }; var json_data = JSON.stringify(arr);
Spécifiez le type de contenu de la demande :
Définissez la propriété contentType sur 'application/json ; charset=utf-8' pour indiquer que la requête contient des données JSON.
contentType: 'application/json; charset=utf-8',
Le code corrigé ci-dessous intègre ces modifications :
$.ajax({ url: 'Ajax.ashx', type: 'POST', data: json_data, contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
Ces ajustements garantissent que les données sont envoyées au format JSON, permettant au serveur de traiter correctement la requête et de renvoyer la réponse JSON souhaitée.
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!