作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在循环和执行下一个调用之前,我如何等到上一个 ajax 调用完成?目前代码一直循环并一次执行所有 ajax 请求!
<script>
var busy;
function check(mailpass, proxy){
var post_data = {};
var post_json = "";
post_data['mailpass'] = mailpass;
post_data['proxy'] = '108.36.248.67:17786';
post_json = JSON.stringify(post_data);
jQuery.ajax({
url: '/postdata' ,
type: "POST",
data: {params: post_json},
success: function(data){
var obj = JSON.parse(data);
if(obj.error == 0){
//
$("#acc-live").append(obj.msg + "<br/>");
} else if(obj.error == 1){
//
$("#socks-die").append(obj.msg+ "<br/>");
} else if(obj.error == 2){
//
$("#acc-die").append(obj.msg+ "<br/>");
}
}
});
}
$(document).ready(function(){
$("#submit").click(function(){
var lines = $("#lines").val().split('\n');
for(var i = 0;i < lines.length;i++){
check(lines[i], '123');
}
});
});
</script>
最佳答案
您可以添加计数器 (currentIndex) 并稍微重新组织代码。
var busy;
var lines;
var currentIndex = 0;
function checkNext(){
if( currentIndex >= lines.length ){
console.log('all done');
return;
}
var mailpass = lines[currentIndex];
var proxy = '123';
var post_data = {};
var post_json = "";
post_data['mailpass'] = mailpass;
post_data['proxy'] = '108.36.248.67:17786';
post_json = JSON.stringify(post_data);
jQuery.ajax({
url: '/postdata' ,
type: "POST",
data: {params: post_json},
success: function(data){
var obj = JSON.parse(data);
if(obj.error == 0){
//
$("#acc-live").append(obj.msg + "<br/>");
} else if(obj.error == 1){
//
$("#socks-die").append(obj.msg+ "<br/>");
} else if(obj.error == 2){
//
$("#acc-die").append(obj.msg+ "<br/>");
}
currentIndex++; //Increase the counter
checkNext();
}
});
}
$(document).ready(function(){
$("#submit").click(function(){
lines = $("#lines").val().split('\n');
checkNext();
});
});
关于javascript - 在 FOR 循环中等待上一个 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667803/
我是一名优秀的程序员,十分优秀!