我不知道爲什麼,但我的Javascript速度非常慢,需要5分鐘才能正常完成,有時會刷新頁面,有些請求還沒有處理。Ajax請求極慢
我已經使用異步:真希望它會處理更快一點,但它不會。這裏是我用來保存#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);
任何人都知道爲什麼它被處理得如此緩慢,併爲此提供了一個體面的解決方案?
你正在每10毫秒顯示你的'close-modal'。似乎有點過分。 –
你是不是想要'setTimeout'而不是'setInterval'?這可能會阻止該線程。否則:#myspace有多少個子節點?服務器對請求的反應速度有多快(在開發人員工具中查看)? – RoryKoehein
我這樣做是爲了在所有ajax請求完成時顯示它,即使沒有它處理非常慢。編輯:有更少的孩子節點,更快的過程,我不知道是否因爲我正在爲每個節點或任何其他請求。 – Denis