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

Une brève analyse du problème des données JSON transmises à partir du succès en arrière-plan Ajax

韦小宝
韦小宝original
2018-05-14 15:04:401913parcourir

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

ajax ne laissera jamais go de succès. Seule l'erreur est prise, le code d'état de la demande est 200.

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!

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