gpt4 book ai didi

javascript - 循环遍历数组,每次都进行ajax调用,不起作用

转载 作者:行者123 更新时间:2023-11-28 21:17:10 24 4
gpt4 key购买 nike

我遇到了这个问题,基本上,我有一个大数组,每次循环时我都会将其分解为较小的数组。在循环中,我有一个 ajax 调用,它将该数组发送到一个 url。问题是它只进行一次 ajax 调用,但它会在控制台中记录其他较小的数组。知道为什么会发生这种情况吗?

  //emailArray = [email1@something.com, email2@something.com..... (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');
}

编辑,循环旨在为大数组中的每10个项目发送一个新的ajax请求,并且发送的数组中有10个项目。当我将它们记录在控制台中时,.splice 很好地分解了数组...但它没有执行 ajax 部分

最佳答案

.splice() 对源数组具有破坏性,因此您的 console.log(emailArray.splice(0,10)); 会弄乱 emailArray 并导致您错过迭代。

您可以在 console.log( ) 像这样的语句:

  //emailArray = [email1@something.com, email2@something.com..... (up to a number greater than 10)
while(emailArray.length) {
console.log(emailArray.slice(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');
}

关于javascript - 循环遍历数组,每次都进行ajax调用,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com