Maison  >  Article  >  interface Web  >  Comment gérer lorsque JQuery ajax renvoie JSON

Comment gérer lorsque JQuery ajax renvoie JSON

亚连
亚连original
2018-05-25 09:50:222375parcourir

Les données Json sont une méthode de stockage de données pour l'interaction des données en temps réel. La méthode la plus couramment utilisée est la combinaison d'ajax et de json. Ci-dessous, je vais partager avec vous la méthode de traitement de JQuery ajax renvoyant JSON (trois méthodes), les amis dans le besoin peuvent se référer à

Récemment, lors de l'utilisation de la méthode ajax de JQuery, les données renvoyées doivent être des données json. Au cours du processus de traitement, j'ai rencontré les problèmes suivants, c'est-à-dire l'utilisation de différentes méthodes lors de la génération de données json. , comment doit-il être traité dans la méthode $.ajax ? Ce qui suit l'expliquera tour à tour. Puisque j'utilise asp.net, les pages traitées sont toutes réalisées en .net ! Les autres méthodes devraient être les mêmes

1. Quelques connaissances de base en JSON.

Les objets en JSON sont identifiés par "{}". Un "{}" représente un objet, tel que {"AreaId":"123"}, et la valeur de l'objet est dans le forme d'une paire clé-valeur ( clé : valeur).

"[]" identifie le tableau et les données à l'intérieur du tableau sont séparées par ",", comme ["AreaId": "123", "AreaId": "345"].

Dans de nombreux cas, il s'agit d'un tableau d'objets, c'est-à-dire :

[{“AreaId”:”123”},{“AreaId”:”345”}]

En fait, un tableau est aussi un objet, et le format ci-dessus peut également être écrit comme ceci :

{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}

Ceci représente un objet Area, qui a deux sous-données, chaque sous-donnée est également un objet, et chaque sous-objet est un AreaId.

Le format de définition des chaînes et des caractères en JSON est similaire à celui des définitions générales du langage C. Les guillemets doubles définissent les chaînes et les guillemets simples définissent les caractères.

Les clés JSON sont placées entre guillemets doubles. Par exemple, "Area" et "AreaId" ci-dessus sont placés entre guillemets doubles. Lors de la construction d'une chaîne JSON dans certaines langues, vous pouvez utiliser un caractère d'échappement pour échapper aux doubles. citations.

Donnez d'abord les données JSON à transmettre : [{"demoData": "This Is The JSON Data"}]                                                                       page aspx à traiter                                                                                                                                           🎜>Voici le code pour transmettre des données en arrière-plan

Cette méthode de traitement transmettra les données directement analysées en tant que données json, c'est-à-dire le front- Le code end js ici peut analyser directement ces données en données d'objet json au lieu de données de chaîne, telles que data[0].demoData,
$.ajax({ 
 type: "post", 
url: "Default.aspx", 
dataType: "json", 
success: function (data) { 
$("input#showTime").val(data[0].demoData); 
 }, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
alert(errorThrown); 
 } 
});

Ceci est utilisé directement ici données d'objet json

2. L'utilisation du webservice (asmx) pour traiter cette méthode de traitement ne traitera pas les données transmises comme des données d'objet json

, mais comme une chaîne Pour gérer, le code suivant
Response.Clear(); 
Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); 
Response.Flush(); 
Response.End();


Ce qui suit est le code de la méthode asmx [WebMethod]


Cette méthode de traitement traite ici les données json transmises sous forme de chaîne, ces données doivent donc être traitées par évaluation afin qu'elles puissent devenir de véritables données d'objet json 🎜>

3. Utiliser des fichiers ashx pour traiter cela est la même chose que le traitement de page aspx ordinaire, donc je ne l'expliquerai pas ici !
$.ajax({   
type: "post",   
url: "JqueryCSMethodForm.asmx/GetDemoData",   
dataType: "json",/*这句可用可不用,没有影响*/ 
contentType: "application/json; charset=utf-8",   
success: function (data) {   
$("input#showTime").val(eval('(' + data.d + ')')[0].demoData); 
//这里有两种对数据的转换方式,两处理方式的效果一样//$("input#showTime").val(eval(data.d)[0].demoData); 
},   
error: function (XMLHttpRequest, textStatus, errorThrown) {   
alert(errorThrown);   
}   
});

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

public static string GetDemoData() {   
return "[{\"demoData\":\"This Is The JSON Data\"}]";   
}
Comment résoudre le code chinois tronqué soumis par JQuery ajaxSubmit


Que faire si le chinois est tronqué le code apparaît lorsque JQuery ajax renvoie json Solve

Comment utiliser la méthode de publication ajax dans le framework Django


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