首页 新闻 搜索 专区 学院

Ajax不能立即返回值的问题

0
悬赏园豆:20 [已关闭问题]
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为空。
请问这个问题应该怎么解决啊?

XXOOXX00的主页 XXOOXX00 | 初学一级 | 园豆:102
提问于:2010-04-29 17:26
< >
分享
其他回答(1)
0
放到success函数里边,等names不等于空的之后在调用Bind1方法不可以嘛 
不知道用什么昵称了 | 园豆:245 (菜鸟二级) | 2010-04-29 17:52
0

把Bind1()方法的操作放在success回调函数里,或者在其中调用Bind1()方法,因为ajax只有操作成功返回后,才会调用success回调函数。

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2010-04-29 19:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册