我不知道为什么,但我的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);
任何人都知道为什么它的处理速度如此之慢,并为此提供了一个合适的解决方案?
答案 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) {}
})
应该更快,并减少流量。你必须稍微改变处理代码......