0
我遇到了這個問題,基本上,我有一個大數組,每當循環做一個循環時,我就分解成更小的數組。在循環中,我有一個ajax調用,將該數組發送到一個url。問題在於它只會調用一次ajax,但它會在控制檯中記錄其他較小的數組。任何想法爲什麼發生這種情況?循環訪問一個數組,每次做一個ajax調用,不工作
//emailArray = [[email protected], [email protected] (up to a number greater than 10)
while(emailArray.length) {
console.log(emailArray.splice(0,10));
$.ajax({
url:"some/url",
type: "POST",
data: {
"object": emailArray.splice(0,10)
},
dataType: "json",
success: function (data, status, xhr) {
//callback(data);
console.log('data from success');
console.log(data);
}
});
console.log('after ajax');
}
編輯,循環的目的是發送一個新的Ajax請求的大陣列中的每個10個項目,而在發送陣列中有10個項目。當我將它們放入控制檯時,.splice將數組正確地分解了陣列...但它不是在執行ajax部分
這工作!謝謝......哈哈,我試圖調試它是一直打破它的事實:) – Bill
這就是爲什麼'splice()'是一個有點棘手的數組函數,這就是爲什麼我沒有用它在我的其他在這裏回答你:http://stackoverflow.com/questions/7273668/split-a-long-array-into-smaller-arrays-with-jquery/7273765#7273765。你必須知道它在使用它時正在修改源數組。 – jfriend00