日期:2014-05-16  浏览次数:20396 次

遍历json文件并对数组赋值
读取json文件然后push,但是按数组索引取值是undefined(最后的alert),在$.each里面photoArray是没问题的
function getPhoto(){
var photoArray=new Array();
$.getJSON('./public/js/photo.json',function(data){
$.each(data,function(entryIndex,entry){
photoArray.push(entry.photopath);
});
});
alert(photoArray[0]);
};
求大神指教
------解决方案--------------------
那是因为getJSON异步的问题,你的getJSON执行动作还没执行完成就跳过去执行alert(photoArray[0]);了 所以这个photoArray是个空的数组 建议用同步才行
------解决方案--------------------
getJSON这个是异步执行 非阻塞的,也就是可能在执行了alert,再执行push的

你可以把alert放在回调方法里面试试 就有数据了

还有你如果像把alert放在ajax外也执行的话  你必须把ajax设置为同步模式  使用$.ajax
并且设置async:false