var names;
function GetData() {
$.ajax({
data: "Action=GetParameterGroupNames",
success: function(pgNames) {
pgNames = eval("(" + pgNames + ")");
names = pgNames;
}
});
}
function Bind1(names) {
//......
}
function Bind2(names) {
//......
}
$(document).ready(function() {
$.ajaxSetup({
url: "Handlers/FileHandler.ashx",
async: true,
cache: false,
type: "GET",
dataType: "text",
processData: false,
error: function(error) {
alert("出错了:" + error);
}
});
GetData();
Bind1(names);
Bind2(names);
});
如果这样写代码,那么当执行到Bind1时,GetData()函数的ajax还没执行回调函数,这时names为空。
请问这个问题应该怎么解决啊?
放到success函数里边,等names不等于空的之后在调用Bind1方法不可以嘛
把Bind1()方法的操作放在success回调函数里,或者在其中调用Bind1()方法,因为ajax只有操作成功返回后,才会调用success回调函数。