简而言之,问题是:
jQuery.ajax({
url: some_url,
success: function(){
alert('success1');
},
error: function(){
alert('error1');
}
});
jQuery.ajax({
url: some_url,
success: function(){
alert('success2');
},
error: function(){
alert('error2');
}
});
jQuery.ajax({
url: some_url,
success: function(){
alert('success3');
},
error: function(){
alert('error3');
}
});这些都会导致:
alert('success1');
alert('success2');
alert('success3');或者输出结果是否类似于:
alert('success2');
alert('success3');
alert('success1');如果我希望只向用户显示最后一个AJAX请求的输出,那么我不应该对以前的AJAX请求运行abort()吗?我的意思是,我不介意他们看到success1和success2消息,只要success3永远是最后一个消息。
发布于 2014-07-24 12:50:05
试着阅读关于JavaScript承诺/A+(即这里的http://www.html5rocks.com/en/tutorials/es6/promises/)的文章,这可能会有帮助。它允许做一些事情。比如doSmthAsync().then(doSmthAsyncElse()).then(...)等等
另外,jQuery可以帮助你。http://api.jquery.com/jquery.deferred/
https://stackoverflow.com/questions/24934069
复制相似问题