Maison > Article > interface Web > Une brève analyse du problème des données JSON transmises à partir du succès en arrière-plan Ajax
Lors de l'utilisation récente de la méthode ajax de JQuery, les données qui doivent être renvoyées sont des données json en cas de retour réussi, le traitement des données utilisera différentes méthodes pour générer des données json en fonction de la méthode de retour. L'éditeur ci-dessous vous présentera comment le gérer dans la méthode $.ajax. Les amis intéressés par ajax devraient y jeter un œil !
Lors de l'utilisation récente de la méthode ajax de JQuery, les données qui doivent être renvoyées sont des données json en cas de retour réussi, le traitement des données utilisera différentes méthodes pour générer des données json en fonction de la méthode de retour. La manière dont cela doit être géré dans la méthode $.ajax est brièvement expliquée.
Donnez d'abord les données json à transmettre : [{"demoData": "This Is The JSON Data"}]
1, utilisez une page aspx ordinaire pour traiter
$.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { $("input#showTime").val(data[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });
Voici le code pour transmettre des données en arrière-plan
Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();
Cette méthode de traitement analyse directement les données transmises en données json, ce qui signifie que le code js frontal ici peut analyser directement les données . dans les données d'objet json au lieu de données de chaîne, telles que data[0].demoData. Ces données d'objet json sont utilisées directement ici
2, et le service Web (asmx) est utilisé 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 de caractères suivante
$.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); } });
Voici le code de la méthode asmx
public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }
Cette méthode de traitement ici. traite les données json transmises comme une chaîne, et les données doivent être évaluées afin qu'elles puissent devenir de véritables données d'objet json.
C'est-à-dire
success:function(data){ eval(data); }
Ce qui précède est le problème des données json transmises depuis le succès en arrière-plan Ajax introduit par l'éditeur. J'espère que cela sera utile à tout le monde ! !
Recommandations associées :
La différence entre réussir et terminer dans jQuery.ajax
javascript - Comment afficher les données json dans la fonction de rappel de réussite en ajax
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!