如何加速ajax调用以从php文件中获取记录


how to speed up ajax calls to fetch record from php file

我正在尝试向php文件发送ajax调用,该文件一次返回1000条json编码格式的记录,我将其附加在表中。一切都很好,但这需要很长时间,导致页面挂起。下面是我的js代码。

$(window).load(function() {
    for (i = 0; i < 31; i++)
    {
        $.ajax({
            type: "GET",
            url: "filters.php",
            data: {limit: 1000, start_from: (i * 1000)},
            success: function(response) {
                var array = JSON.parse(response);
                Object.keys(array).forEach(function(key) {
                    oTable.fnAddData([
                        array[key][1],
                        array[key][2],
                        array[key][3],
                        array[key][4],
                        array[key][5],
                        array[key][6],
                        array[key][7],
                        array[key][8],
                        array[key][9],
                        array[key][10],
                        array[key][11],
                        array[key][12],
                        array[key][13],
                        array[key][14],
                        array[key]['link']
                    ]);
                });
            },
            datatype: 'json'
        });
    }    
});

试试这个:

$(window).load(function() {
    for (i = 0; i < 31; i++)
    {
        setTimeout(500,function(){
            $.ajax({
                type: "GET",
                url: "filters.php",
                data: {limit: 1000, start_from: (i * 1000)},
                success: function(response) {
                    var array = JSON.parse(response);
                    Object.keys(array).forEach(function(key) {
                        oTable.fnAddData([
                            array[key][1],
                            array[key][2],
                            array[key][3],
                            array[key][4],
                            array[key][5],
                            array[key][6],
                            array[key][7],
                            array[key][8],
                            array[key][9],
                            array[key][10],
                            array[key][11],
                            array[key][12],
                            array[key][13],
                            array[key][14],
                            array[key]['link']
                        ]);
                    });
                },
                datatype: 'json'
            });
        });
    }
    });