好的,我在这里没有选择。
我正在尝试执行此代码,但它始终挂起。我已经尝试用“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>
我在这里缺少什么?
ADDED
通过“挂起”我的意思是制表符停止响应并崩溃。此外,如果我删除了ajax请求,代码仍然无效。
$(document).ready(function() {
var i = 0;
for(i=1;i<50;i++){
$('#index').text(i);
}
});
ADDED
这是包含评论的HTML。不知道为什么,但当我删除它们时,代码开始工作:/
<body>
<!-- result index -->
<div id="index"></div>
<!-- result content -->
<div id="main"></div>
</body>
</html>
设法让它工作删除评论(是的,评论)我发现另一个......“bug”?我不知道我和JS有什么不对。
要查看测试网页HERE的“错误”信息 循环是否有任何原因可以解决?有没有办法让它按顺序工作?
答案 0 :(得分:1)
在代码中添加一个失败函数,并告诉我们发生了什么。 使用jquery失败函数的示例 -
失败功能的文档 https://api.jquery.com/jQuery.get/
你的代码中的会是这样的:
<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>
答案 1 :(得分:1)