$.getJSON不能外向外部域传值问题
使用$.getJSON函数时,想往全局域传值发现传不过去
var tdeptna; var tpostna; $.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=jxdw",null,function call(data){ if(data.errmsg!=""){ alert(data.errmsg); return; } var tdept=eval(data.result); tdeptna=tdept; $("#tdeptid").combobox('loadData', tdept);//直接加载数据 }); console.log(tdeptna)
无法将tdept的值传给tdeptna,在网上查了一下,发现ajax默认是异步执行的,也就是说$.getJSON还没有执行完的情况下,console.log已经打印了。
解决:在$.getJSON前面加上$.ajaxSetup({async:false});就好了
var tdeptna; var tpostna; $.ajaxSetup({async:false}); $.getJSON("../SyscodeServlet?mode=getcodeByno&&codeno=jxdw",null,function call(data){ if(data.errmsg!=""){ alert(data.errmsg); return; } var tdept=eval(data.result); tdeptna=tdept; $("#tdeptid").combobox('loadData', tdept);//直接加载数据 });
评论已关闭