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

IE浏览器,each放在getJSON函数外面不执行
$(function(){
var fromFlights = new Array();
$.getJSON("http://eunion.csair.com/E-UNION/data/avprice/getMinPrice.json?inter=N&jsoncallback=?",function(flightdata){
   fromFlights = flightdata.FROMOFLIGHTS;
})
$.each(fromFlights,function(a,m){
alert(123);
})
})

如上例,IE浏览器,each放在getJSON函数外面不执行,但是each放在getJSON函数里面就能执行,为什么呢?
------解决方案--------------------
因为getJSON是回调执行呀

不是不执行,是each了一个空数组
------解决方案--------------------
$.ajaxSetting.async = false;设成同步
因为getJSON还没执行完成就执行each遍历了 得到的当然是空数组了
------解决方案--------------------
有http请求的默认是异步的, 你执行each的时候, 数据还没得到呢