Javascript 在Ajax调用完成后运行函数
有些事情发生了,我不知道为什么会发生。我有3个功能:Javascript 在Ajax调用完成后运行函数,javascript,jquery,ajax,deferred,Javascript,Jquery,Ajax,Deferred,有些事情发生了,我不知道为什么会发生。我有3个功能: app.progress(); app.success(); app.normal(); 这三个选项都会更改我的应用程序中的状态块。我的另一个函数中有一个$。post,比如: app.set : function() { ... } 在我的set功能中,我想更新状态块,如下所示: app.set : function() { app.progress(); $.post('ajax.php', function(){
app.progress();
app.success();
app.normal();
这三个选项都会更改我的应用程序中的状态块。我的另一个函数中有一个$。post
,比如:
app.set : function() {
...
}
在我的set
功能中,我想更新状态块,如下所示:
app.set : function() {
app.progress();
$.post('ajax.php', function(){
// do stuffs
}).done({function(){
app.success();
setTimeout(app.normal(), '2000');
})
}
但不知何故,我看不到app.success
,它会跳到app.normal
,当我删除app.normal
时,我可以看到app.success
这是为什么?您正在立即调用
app.normal
,因为在函数中添加括号时会发生这种情况,请更改以下内容:
setTimeout(app.normal(), '2000');
到
引用函数而不是调用它。您正在立即调用
app.normal
,因为在函数中添加括号时会发生这种情况,请更改以下内容:
setTimeout(app.normal(), '2000');
到
引用函数而不是调用它