Maison > interface Web > js tutoriel > le corps du texte

Comment envoyer des données JSON avec jQuery : éviter les chaînes codées par formulaire ?

DDD
Libérer: 2024-11-04 09:02:30
original
827 Les gens l'ont consulté

How to Send JSON Data with jQuery: Avoiding Form-Encoded Strings?

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

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 :

  1. 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);
    Copier après la connexion
  2. 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',
    Copier après la connexion

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

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal