Javascript jquery有两个超时循环
我正在编写一个脚本,该脚本将把ajax帖子发送到另一个页面,我需要在发送ajax请求之前进行两个for循环,其中一个发送成功,但在进行另一个循环时,它会同时发送所有请求并关闭服务器:Javascript jquery有两个超时循环,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在编写一个脚本,该脚本将把ajax帖子发送到另一个页面,我需要在发送ajax请求之前进行两个for循环,其中一个发送成功,但在进行另一个循环时,它会同时发送所有请求并关闭服务器: $("#me").on("click", function (event) { event.preventDefault(); var lines = $('#emails').val().split('\n'); var sendToSe
$("#me").on("click", function (event) {
event.preventDefault();
var lines = $('#emails').val().split('\n');
var sendToServer = function(lines, index){
item = lines[index];
if (item.trim().length != 0){
for(idd = 1; idd <= 100; idd++){
$.ajax({
type: 'POST',
url: 'inc/save.php',
data: { users : lines[index] , id : idd },
success: function(msg){
$('#result').append(msg);
if (index < lines.length) {
setTimeout(
function () { sendToServer(lines, index+1); },
5000 // delay in ms
);
}
}
});
}
}
else { sendToServer(lines, index+1); }
};
sendToServer(lines, 0);
});
$(“#me”)。在(“单击”)上,函数(事件){
event.preventDefault();
var line=$('#emails').val().split('\n');
var sendToServer=函数(行、索引){
项目=行[索引];
如果(item.trim().length!=0){
对于(idd=1;idd此代码将在每次请求之间延迟指定的时间量
$("#me").on("click", function (event) {
event.preventDefault();
var lines = $('#emails').val().split('\n');
var requestDelay = 5000;
var sendToServer = function (index) {
item = lines[index];
if (item.trim().length != 0) {
var max = 100;
var sendOne = function (idd) {
$.ajax({
type: 'POST',
url: 'inc/save.php',
data: {
users: lines[index],
id: idd
},
success: function (msg) {
$('#result').append(msg);
if (idd <= max) {
setTimeout(sendOne, requestDelay, idd + 1);
} else {
if (index < lines.length) {
setTimeout(sendToServer, requestDelay, index + 1);
}
}
}
});
};
sendOne(1);
}
};
sendToServer(0);
});
此代码将在每次请求之间延迟指定的时间量
$("#me").on("click", function (event) {
event.preventDefault();
var lines = $('#emails').val().split('\n');
var requestDelay = 5000;
var sendToServer = function (index) {
item = lines[index];
if (item.trim().length != 0) {
var max = 100;
var sendOne = function (idd) {
$.ajax({
type: 'POST',
url: 'inc/save.php',
data: {
users: lines[index],
id: idd
},
success: function (msg) {
$('#result').append(msg);
if (idd <= max) {
setTimeout(sendOne, requestDelay, idd + 1);
} else {
if (index < lines.length) {
setTimeout(sendToServer, requestDelay, index + 1);
}
}
}
});
};
sendOne(1);
}
};
sendToServer(0);
});
我猜服务器不喜欢一次处理100个请求?这里是示例(100)。最终的代码将有1000个请求,当然服务器不能同时处理1000个请求,所以我需要一个接一个地处理,每个请求之间都有超时。我猜服务器不喜欢一次处理100个请求?这里是示例(100)最后的代码将有1000个请求,当然服务器不能同时处理1000个请求,所以我需要一个接一个地处理它,每个请求之间都有超时one@MohamedAldanaf-我被打断了(现实生活中遇到了障碍:p),我要发布一篇“现代”非常整洁的代码版本-如果你愿意,我可以添加它。如果你愿意,我会感谢你:)@MohamedAldanaf-我被打断了(现实生活中遇到了障碍:p),我打算发布一个非常整洁的“现代”代码版本-如果你愿意,我可以添加它。如果你愿意,我会感谢你:)