Maison > interface Web > js tutoriel > Comment envoyer des données JSON avec $.ajax de jQuery sans conversion de chaîne de requête ?

Comment envoyer des données JSON avec $.ajax de jQuery sans conversion de chaîne de requête ?

Patricia Arquette
Libérer: 2024-11-03 12:56:02
original
463 Les gens l'ont consulté

How to Send JSON Data with jQuery's $.ajax Without Query String Conversion?

Transmission JSON dans jQuery : échapper au piège de la chaîne de requête

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.

L'attribut trompeur 'dataType : 'json''

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.

Solution : JSON.stringify et Content Type

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
});
Copier après la connexion

Legacy Support

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal