我有几个同步的ajax请求。我想以这样的方式管理它们:如果一个失败,则不应该执行其余的请求。
我通过将每个子请求放入父成功事件中来实现此目的:
$.ajax({
url: 'someUrl'
}).done(function() {
$.ajax({
url: 'someUrl_1'
}).done(function() {
alert('we are done');
});
});
但是,我的直觉告诉我这不是最好的解决方案。任何帮助将不胜感激。
答案 0 :(得分:1)
你做的很好 从jQuery Docs
更好var request = $.ajax( url, { dataType: "json" } ),
chained = request.then(function( data ) {
return $.ajax( url2, { data: { user: data.userId } } );
});
chained.done(function( data ) {
// data retrieved from url2 as provided by the first request
});
您可以阅读有关jQuery然后jQuery Then
的更多信息