Lorsque vous utilisez ajax pour obtenir des données, data.foo peut être obtenu directement. Cependant, les versions inférieures de jquery ne fonctionneront pas. Par exemple, avant la version 1.4
$ .post('/admin/UserBookView.do', {}, function(data) {
console.info(data);
});
Les informations et l'affichage des données d'impression sont une chaîne au format json, comme suit :
{" acceptIs":null,"entity":null,"refuseIs":null,"result":{"pageSize":10,
"resultList":[{"PRICE" :3,"WCTIME":null," NOTE":"Points d'exception","CKTIME":null,"CUSER":"admin",
"CTIME":"2013/12/30 17:03:16 ","PHONE":"13111050937", "ADDR":"Adresse de test","CUSERID":"1","SLTIME":null}],
"resultListArray":null,"titles":[" ID","CTIME","STATE" "PRICE","NOTE"],"totalPage":1,"totalSize":4},
"source":null,"storageIs":null,"treeNodes" :null}
Si le type n'est pas défini, les données renvoyées par défaut sont de type texte
Lorsque nous utilisons des données pour essayer d'obtenir la valeur à l'intérieur, undefined est renvoyé
Il existe actuellement deux solutions :
1 : Utiliser la fonction eval pour convertir la chaîne json en un objet json
var datas=eval("(" data ")");
Deux : Précisez le type
$.post('/admin /UserBookView.do', {}, function(data) {
console.info(data);
},"json"
Les versions supérieures telles que 1.8 ne le font pas. J'ai ce problème et renvoie des objets json.