Ajax请求极其缓慢

时间:2013-08-26 11:22:17

标签: javascript jquery ajax

我不知道为什么,但我的Javascript非常慢,需要五分钟才能正常完成,有时你会刷新页面并且有些请求尚未处理。

我已经使用过async:true希望它会稍微快一点处理,但事实并非如此。这是我用来保存#myspace内部每个元素的代码。

cn = document.getElementById("myspace").childNodes;
        for (var t = 0; t < cn.length; t++) {
            if (cn[t].nodeType == 1) {
                var n = {
                    id: cn[t].id,
                    left: cn[t].style.left,
                    top: cn[t].style.top
                };
                $.ajax({
                    data: n,
                    url: "/Application/Ajax/__ajaxProfile.php?a=SavePosition",
                    type: "post",
                    cache: true,
                    async: true,
                    success: function (e) {}
                })
            }
        }
        e("Please wait for everything to save, it might take more than a minute.");

        setInterval(function () {

        if ($.active == 0) {

            $('#close-modal').show();

        }

        }, 10);

任何人都知道为什么它的处理速度如此之慢,并为此提供了一个合适的解决方案?

1 个答案:

答案 0 :(得分:2)

var n_array=new Array();

for (var t = 0; t < cn.length; t++) {
    if (cn[t].nodeType == 1) {
        var n = {
            id: cn[t].id,
            left: cn[t].style.left,
            top: cn[t].style.top
         };
         n_array.push(n);     
     }
}

$.ajax({
   data: n_array,
   url: "/Application/Ajax/__ajaxProfile.php?a=SavePosition",
   type: "post",
   cache: true,
   success: function (e) {}
})

应该更快,并减少流量。你必须稍微改变处理代码......