Maison  >  Article  >  interface Web  >  Comment envoyer des données JSON avec jQuery : éviter les chaînes codées par formulaire ?

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

DDD
DDDoriginal
2024-11-04 09:02:30828parcourir

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);
        }
    }
);

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);
  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',

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!

Déclaration:
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