Javascript循环挂起

Javascript循环挂起,javascript,jquery,loops,Javascript,Jquery,Loops,好吧,我没有选择了 我试图执行这段代码,但它总是挂起。我已经尝试过用“while”循环修改“for”循环,没有结果,也尝试过将其作为函数,并像往常一样通过setTimeout()执行它,一点运气都没有。我不知道还能做什么 <script> $(document).ready(function() { for( var i=1; i<50; i++ ) { var theurl = 'include_test.php?appid=' + i;

好吧,我没有选择了

我试图执行这段代码,但它总是挂起。我已经尝试过用“while”循环修改“for”循环,没有结果,也尝试过将其作为函数,并像往常一样通过setTimeout()执行它,一点运气都没有。我不知道还能做什么

<script>    
$(document).ready(function() {
    for( var i=1; i<50; i++ ) {
        var theurl = 'include_test.php?appid=' + i;
        $('#index').html(i);
        $.get(theurl, function(response) {
            var checking = response.split(" - ");
            if(checking.length > 1) {
                $('#main').append(response);
                $('#index').html(checking[0]);
            } else {
                $('#index').html(response);
            }
        });
    }
}); 
</script>

$(文档).ready(函数(){
对于(变量i=1;i 1){
$('#main')。追加(应答);
$('#index').html(检查[0]);
}否则{
$('#index').html(回复);
}
});
}
}); 
我错过了什么

增加

我所说的“挂起”是指选项卡停止响应并崩溃。此外,如果删除ajax请求,代码仍然无法工作

$(document).ready(function() {
    var i = 0;
    for(i=1;i<50;i++){
        $('#index').text(i);
    }
});
$(文档).ready(函数(){
var i=0;
对于(i=1;i
在删除一条评论(是的,一条评论)后,我发现了另一个…“bug”?我不知道我和JS有什么问题

要查看“bug”参考,请转到测试网页
循环无序工作有什么原因吗?有没有办法使其有序工作?

在代码中添加一个fail函数,并告诉我们发生了什么。 使用jquery失败函数的示例-

失效函数的文档

在您的代码中,应该是这样的:

<script>    
$(document).ready(function() {
for( var i=1; i<50; i++ ) {
    var theurl = 'include_test.php?appid=' + i;
    $('#index').html(i);
    $.get(theurl, function(response) {
        var checking = response.split(" - ");
        if(checking.length > 1) {
            $('#main').append(response);
            $('#index').html(checking[0]);
        } else {
            $('#index').html(response);
        }
    })
    .fail(function(){//put failure code here console.log('failure');
   });
}
}); 
</script>

$(文档).ready(函数(){
对于(变量i=1;i 1){
$('#main')。追加(应答);
$('#index').html(检查[0]);
}否则{
$('#index').html(回复);
}
})
.fail(function(){//put failure code here console.log('failure');
});
}
}); 

一般来说,一次调用50个AJAX并不是一个好主意。它们没有按顺序返回的原因是因为您没有按顺序调用它们,而是一次调用它们,所以它们会按先完成的顺序返回。您可以将它们一个接一个地链接起来,但最好是在PHP中通过一次做10次卷发,然后在完成后将所有10次卷发发回,然后再做5次。

你说的“挂起”是什么意思?我猜50个ajax调用同时进行不是一个好主意?你是在做50个get请求吗?不,matther什么,它挂起,tab没有响应,还试图删除ajax请求,结果相同…$(文档)。准备好了吗(函数(){var i=0;用于(i=1;i您不能一次发送50个ID的原因是什么?也就是说,您可以发出一个请求而不是50个?他说,即使他删除AJAX调用,它仍然挂起。如果AJAX调用成功失败,那么就没有挂起。不可能。他提供的没有AJAX的循环在JSFIDLE中运行良好。这与此完全无关这是一段关于html的注释,不知道为什么,但当我删除它时,代码开始工作。现在我遇到了另一个“bug”u.u,我厌倦了JS。这就是我想在失败后找出的。如果它返回任何东西,那么挂起可能在其他地方。你说“380k”是什么意思?这就是AJAX调用的负载吗?实际上并没有那么大。你的目标是什么?我知道这是Steam游戏ID.380K=380.000请求的问题。我正在用Steam测试脚本,因为我可以很容易地先尝试它,然后我会转向真正的交易,脚本至少需要做380.000个AJAX请求每天,这就是为什么我想知道是否有任何方法可以对它进行排序,或者对结果进行排序,使用50可以做很多事情,但是使用380k,它会变得更复杂。
<script>    
$(document).ready(function() {
for( var i=1; i<50; i++ ) {
    var theurl = 'include_test.php?appid=' + i;
    $('#index').html(i);
    $.get(theurl, function(response) {
        var checking = response.split(" - ");
        if(checking.length > 1) {
            $('#main').append(response);
            $('#index').html(checking[0]);
        } else {
            $('#index').html(response);
        }
    })
    .fail(function(){//put failure code here console.log('failure');
   });
}
}); 
</script>