这个jQuery.post返回的数据如何获取里面的值?

调用代码:jQuery.post(url,params,CallBackFun,'json');
回调函数:
function CallBackFun(data)
{
var datas=eval(data);
alert("before each"+datas.testResult);

这里alert已经得到的值如下:
{"UniqueFun":"FAIL","Load":"PASS","Reliability_err_msg":"none","Reliability":"pass","Security_err_msg":"not support","Security":"fail","Install":"PASS","Load_err_msg":"none","GenerFun_err_msg":"none","Performance_err_msg":"none","GeneralFun":"pass","UniqueFun_err_msg":"none","Performance":"pass","Install_err_msg":"none"}
现在如何获取内部各项的值?如UniqueFun的值FAIL等?
我试了,用循环、datas.testResult.UniqueFun获得的值都是undefined。
最新回答
各种坚强

2024-07-01 02:28:57

在function CallBackFun(data){}中写
var nodes=data.UniqueFun;
for(var i=o;i<nodes.length;i++){
?alert(nodes[i].Load+" "+nodes[i].Reliability_err_msg);
}
追问
var nodes=data.UniqueFun;

这句根本执行不了,alert(data.UniqueFun)为undefined。
追答

{"UniqueFun":"FAIL","Load":"PASS","Reliability_err_msg":"none","Reliability":"pass","Security_err_msg":"not support","Security":"fail","Install":"PASS","Load_err_msg":"none","GenerFun_err_msg":"none","Performance_err_msg":"none","GeneralFun":"pass","UniqueFun_err_msg":"none","Performance":"pass","Install_err_msg":"none"}

前面还有一个对象,这是json数据,你可以用firebug查看到,然后将var nodes=data.UniqueFun;改为var nodes=data.对象名;就行了
心头的小情儿

2024-07-01 02:56:16

相逢即是缘分

2024-07-01 06:45:00

从alert的结果看,并不是个数组.
alert(datas.testResult.UniqueFun);
alert(datas.testResult.Load);
....
追问
这样alert统统是undefined啊。
追答
这说明你的这段数据看似json,实际还是字符串,不是一个对象。试试将上面一句改一下:
var datas=eval(data);
改成:
var datas=eval("("+data+")");
玲宝咱深乃

2024-07-01 00:45:32

for(var i=0;i<datas.length;i++){
var UniqueFun=items[i]["UniqueFun"];

var Load=items[i]["Load"];
----
}