如何在 AJAX 完成时发出信号

发布于 2024-12-07 04:37:05 字数 548 浏览 0 评论 0原文

我有两个需要同步的 ajax $.get() 请求。

本质上

var signal1 = false;
var signal2 = false;

    $.get(url,
                {},
                function (data) { 
                    signal1 = true;//callback complete.
                },'json');

    $.get(url2,
                {},
                function (data) { 
                    signal2 = true;//callback complete.
                },'json');

    when(signal1 && signal2 == true)
       $.get(url3...

我该如何、应该完成此类任务? (奖励,失败回调的 AJAX 签名是什么?)

I have two ajax $.get() requests that I need to synchronize.

Essentially

var signal1 = false;
var signal2 = false;

    $.get(url,
                {},
                function (data) { 
                    signal1 = true;//callback complete.
                },'json');

    $.get(url2,
                {},
                function (data) { 
                    signal2 = true;//callback complete.
                },'json');

    when(signal1 && signal2 == true)
       $.get(url3...

How can I, should I accomplish this type of task? (Bonus, what's the AJAX signature for failure callback?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

椵侞 2024-12-14 04:37:05

查看 jquery deferred/promise 方法,它们正是您想要做的事情。

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).done(function(a1,  a2){
   // a1 and a2 are the results of your two calls.
});

http://api.jquery.com/jQuery.when/

http://api.jquery.com/deferred.promise/

Look at the jquery deferred/promise methods, they are for exactly what you are trying to do.

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).done(function(a1,  a2){
   // a1 and a2 are the results of your two calls.
});

http://api.jquery.com/jQuery.when/

http://api.jquery.com/deferred.promise/

熊抱啵儿 2024-12-14 04:37:05

你可以这样做:

$.when(
    $.get(url, {}, function(data) { 
        // signal 1 complete
    }, 'json'),
    $.get(url2, {}, function(data) { 
        // signal 2 complete
    }, 'json')
).then(function() {
    // success after both methods finish
}, function() {
    // failure method
});

参见jQuery.whenhttp://api. jquery.com/jQuery.when/

You do it like this:

$.when(
    $.get(url, {}, function(data) { 
        // signal 1 complete
    }, 'json'),
    $.get(url2, {}, function(data) { 
        // signal 2 complete
    }, 'json')
).then(function() {
    // success after both methods finish
}, function() {
    // failure method
});

See jQuery.when: http://api.jquery.com/jQuery.when/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文