$.each方法中的变量怎么不可用?
JScript code
$("#button").click(function(){
var preSelector='';
$.getJSON("testAction",function(data){
$.each(data.arrayList,function(i,value){//arrayList是链表对象
preSelector=value+'ooooo'+preSelector;
});
});
//为什么在这里preSelector值为空呢?难道出了getJSON方法,值都消失了??
alert(preSelector);
});
如上述代码,求救!谢谢
------解决方案--------------------你用firebug调试,1、确认此jquery方法语法都ok。
2、后台打断点,debug跟踪,看看是否正确进入后台,并且拿到资料,返回到jsp中。
我猜测,data有可能为null。
------解决方案--------------------each方法在回调函数里,在你执行回调函数的时候,alert已经执行了。你把alert方法回调函数里看看
------解决方案--------------------ajax实习异步操作,你getjson的时候也同时alert了,这时还没执行回调函数呢。
所以空。
你可以在回调函数里alert回调的内容看看。
------解决方案--------------------楼上说的对,你调用的是异步方法,当你去后台执行的时候,页面中的代码是不会等待你返回的,所以先执行了alert这句。你要想在下面使用的话,可以sleep一下,或者把异步调用改成同步调用。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------