我将我的json从php文件发送为
echo json_encode(array('uname'=>$fname,'Oname'=>$pi['name'],'osize'=>$size));
iam在客户端使用以下jquery循环遍历它,但它不显示list中的所有记录。我可以使它有效地工作
function work(i,fly,response){
var cookedJSON=[];cookedJSON.push({ uname : response.uname , Oname : response.Oname , osize :response.osize });
_outfilenames=[];
$.each(cookedJSON, function(i,arr) {
_outfilenames.push("<li id='group_0_file_"+i+"'class='image-list'>" +"<div class='controls' title='remove file'><a href='#' class='image-list' data-filename='"+arr.uname +"'><img src='stop.png' ></a></div>"+ "<span class='filename'>" +arr.Oname+ "</span> " +"<span class='details'>size:</strong>"+arr.osize +" </span>" +"</li>");//}
}); // close each()
$(_outfilenames.join('')).appendTo(f_list);
我做错了什么,我该怎么做才能把它弄好????
答案 0 :(得分:1)
您的cookedJSON
是一个只存储一个JSON的数组。要检索此JSON属性,您应该使用:
cookedJSON[0].uname;
cookedJSON[0].oname;
cookedJSON[0].osize;
您也可以使用:
cookedJSON[0]['uname'];
cookedJSON[0]['oname'];
cookedJSON[0]['osize'];
但是如果你使用:
cookedJSON.uname;
cookedJSON.oname;
cookedJSON.osize;
您将在控制台日志中获得undefined
。