$.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);//直接加载数据
});
评论已关闭