Maison >interface Web >js tutoriel >Pourquoi ma requête jQuery AJAX envoie-t-elle des données sous forme de texte brut au lieu de JSON ?
Dans le développement Web, il est souvent crucial de transmettre efficacement les données entre le côté client et le serveur. jQuery, une bibliothèque JavaScript populaire, propose des méthodes pratiques pour gérer un tel échange de données. Une tâche courante consiste à envoyer des données au format JSON au serveur à l'aide de jQuery.
Cependant, les développeurs rencontrent parfois un problème où les données ne sont pas transmises au format JSON souhaité mais sous forme de texte brut. Pour comprendre pourquoi cela se produit, examinons un extrait de code :
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
Ce code tente d'envoyer les données de l'objet arr au serveur Ajax.ashx à l'aide de la méthode $.ajax. Cependant, le problème survient car le code ne spécifie pas le type de contenu de la requête ni ne construit correctement la requête JSON.
Pour remédier à cela, la méthode JSON.stringify doit être utilisée pour convertir l'objet JavaScript en une chaîne JSON native. :
var arr = { City: 'Moscow', Age: 25 }; $.ajax({ url: 'Ajax.ashx', type: 'POST', data: JSON.stringify(arr), contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
Points clés à noter :
Considérations supplémentaires :
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!