0

我正在尝试一次处理和更新 1000 个项目的查询。我厌倦了设置缓存为假,甚至尝试 setTimeout 在请求之间暂停。每个请求应该花费 5-6 秒,然后该过程将永远不会超时,但在 4-5 次请求后,它会达到服务器执行限制。

问题是我需要在更新查询中使用 PHP 对象。每个请求似乎都需要更长的时间,所以似乎对象在 PHP 中循环

有没有办法阻止这种情况发生?

这是javascript代码

function processIndex() {
    $.ajax({
        url: responder,
        dataType: "json",
        data: data,
        cache: false,
        async: false,
        error: function(XMLHttpRequest, textStatus, errorThrown){
        //  alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText + ' LIMIT ' + limitFrom + ', ' + limitTo);
            limitFrom = limitTo;
            limitTo  += 1000;
            processIndex('indexPrices');
        },
        success: function(data) {
                    limitFrom = limitTo;
                    limitTo  += 1000;
                    setTimeout(function() {
                        processIndex();
                    }, 1000);
                }
            });
        }
    });
}
4

1 回答 1

0

您可以使用 http://www.protofunc.com/scripts/jquery/ajaxManager/

或者

https://gist.github.com/2470554

排队 ajax 请求。

另一种方法是发送少量记录(例如一次 50 条记录)并在服务器端代码中循环遍历它们。

您可以结合这两种解决方案以获得最佳结果

于 2012-06-15T14:24:51.260 回答