我必须进行AJAX调用,然后执行一些操作,并在完成每个操作后成为回调函数。
我调用了getUsers()函数,并且需要知道此函数中的所有步骤何时都是精细的。
我没有尝试过任何工作......
function getUsers(userId){
var dfd = $.Deferred();
$.ajax({
type: "GET",
url: "../getUsers.php",
data: {userid: userId},
success: function(output){
output = JSON.parse(output);
$(output.activeUsers).appendTo("#users");
$(output.inactiveUsers).appendTo("#users_inactive");
$('.user').each(function(index){
$(this).animate({
'height':55+'px'
})
})
$('.user').promise().done(function() {
overlay.fadeOut('fast',function(){
dfd.resolve;
return dfd.promise();
});
});
}
})
}
$.when(
getUsers()
).then(function(){
alert('something')
})
我做错了什么
答案 0 :(得分:1)
评论中注明了多个问题
function getUsers(userId) {
var dfd = $.Deferred();
$.ajax({
type: "GET",
url: "../getUsers.php",
data: {
userid: userId
},
success: function (output) {
output = JSON.parse(output);
$(output.activeUsers).appendTo("#users");
$(output.inactiveUsers).appendTo("#users_inactive");
$('.user').animate({
'height': 55 + 'px'
}).promise().done(function () {
overlay.fadeOut('fast', function () {
//need to invoke the resolve function
dfd.resolve();
});
});
}
}).fail(function () {
//need to reject the promise if ajax request fails
dfd.reject();
});
//return the promise here
return dfd.promise();
}
$.when(getUsers()).then(function () {
alert('something')
})