一键使用两个或多个URL用于不同的Ajax

时间:2018-11-28 19:06:59

标签: javascript jquery ajax

我需要使用许多URL API中的多个json。对于每个URL,我将做不同的事情,但这必须是同一时间。我将使用1个URL填充表的某些标题,并使用2个或3个URL填充表的信息。

我有这样的东西:

$(document).ready(function(){
    $("#my_button").click(function(){
        var urlOne = 'http://example1',
        var urlTwo = 'http://example2'
        $.ajax({
            url: urlOne,
            success: function(result){
                console.log(result);
                $('#some_div').hide();
                $('#another_div').show();
                $('.some_class').append(result[0].some_data);
                etc...
            },
            error: function (exception) {
                $('#modal_error').modal('show');
            }
        });

        $.ajax({
            url: urlTwo,
            success: function(result){
                $('#myTabContent').show();
                populateHeaders($("#headers"),result);
                etc...
            }
        });
        //And maybe more ajax calls.
    });
});

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我使用创建方法并在ajax成功时调用它

例如

    $.ajax({
        url: urlOne,
        success: function(result){
            console.log(result);
            $('#some_div').hide();
            $('#another_div').show();
            $('.some_class').append(result[0].some_data);
            hereFunctionCallAnotherAjaxOne();
        },
        error: function (exception) {
            $('#modal_error').modal('show');
        }
    });

    const hereFunctionCallAnotherAjaxOne = () => {
     $.ajax({
        url: urlTwo,
        success: function(result){
            $('#myTabContent').show();
            populateHeaders($("#headers"),result);
        }
     });
    }

但是请阅读有关Promises及其与JavaScript REST API一起工作的信息