Maison  >  Article  >  interface Web  >  Comment envoyer des données JSON avec jQuery : pourquoi est-ce que je reçois une chaîne de requête à la place ?

Comment envoyer des données JSON avec jQuery : pourquoi est-ce que je reçois une chaîne de requête à la place ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 10:30:30131parcourir

How to Send JSON Data with jQuery: Why Am I Receiving a Query String Instead?

Comprendre la transmission de données JSON avec jQuery

L'envoi de données au format JSON est crucial pour une communication efficace entre les pages Web et les serveurs. Cependant, si vous rencontrez des données envoyées de manière non formatée, comme "City=Moscow&Age=25", cela peut être dû à un manque de configuration de requête appropriée.

Le code fourni tente d'envoyer des données JSON à l'aide de jQuery. Méthode $.ajax(). Par défaut, jQuery convertit les données en chaîne de requête, ce qui donne le format « City=Moscow&Age=25 ». Pour résoudre ce problème, suivez ces étapes :

  1. Utilisez JSON.stringify() : Convertissez l'objet JavaScript (arr) en une chaîne JSON à l'aide de JSON.stringify().
  2. Définir le type de contenu de la demande : Spécifiez le type de contenu de la demande comme "application/json; charset=utf-8" à l'aide de la propriété contentType. Cela informe le serveur que les données sont envoyées au format JSON.
  3. Assurer la réponse JSON : Définissez la propriété dataType : 'json' pour indiquer que la réponse attendue du serveur doit être en JSON. format.

Voici le code corrigé :

<code class="javascript">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);
    }
});</code>

Notes supplémentaires :

  • arr n'est pas un tableau mais un objet JavaScript. Les tableaux sont entourés de [].
  • Le rappel de réussite analysera automatiquement la réponse JSON dans un objet JavaScript si le serveur respecte le protocole HTTP et répond avec "Content-Type : application/json."

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