我已经得到了那段代码:
var result;
$.when(result=make_req("GET", "ajax.php?request=opendiv", true, null, null)).done(alert(result));
你能告诉我,为什么警报显示' undefined'?
make_req()进行一些ajax调用,它正常工作,当我单独调用它时返回好的值。
我想将make_req的结果存储在变量' result'然后使用它。
答案 0 :(得分:2)
您正在立即执行提醒,但您并未等待结果
你必须引用一个函数,而不是调用它,并且在函数中添加括号将调用它,在这种情况下,你可以使用匿名函数,并在其中调用alert
$.when( make_req("GET", "ajax.php?request=opendiv", true, null, null) )
.done(function(result) {
alert(result);
});
当然,make_req()
必须返回延期承诺!
答案 1 :(得分:0)
因为done()
期望将回调函数作为唯一参数传递,而您传递的返回值为alert
。你需要:
.done(function(result) { alert(result); });