gpt4 book ai didi

Javascript while循环卡住页面

转载 作者:行者123 更新时间:2023-12-02 16:31:34 25 4
gpt4 key购买 nike

所以,当我在 Firefox 和 google chrome 上运行此函数时,页面一直卡住,我尝试使用 for 循环,但没有按预期工作,有什么想法吗?

谢谢

   function grab_users() {

var start_id = document.getElementById('start_range');
start_id = start_id.value;

var end_id = document.getElementById('end_range');
end_id = end_id.value;

var grabbed = document.getElementById('grabbed_users');
while (start_id < end_id) {
$.ajax({
url: "php/extract.php",
type: 'GET',
data: {'start_range': start_id},
success: function(res) {
var usernames = res;

if (!usernames.valueOf() == "") {
usernames = usernames.replace('</br>', '');
grabbed.value += usernames + '\n';
}
}
});
start_id+=1;
}
}

最佳答案

输入的值始终是字符串,在使用它们之前必须将它们转换为数字,否则 start_id 的比较和递增不会给出预期的结果(以无限循环结束):

var start_id = parseInt(document.getElementById('start_range').value,10);
var end_id = parseInt(document.getElementById('end_range').value,10);

假设您的start_id"20"和你的end_id"30" 。您将从 "20" < "30" 开始,这是真的;然后在下一个循环中,您将附加 1start_id字符串,给我们"201" < "30" 。这是一个字符串比较,所以它也是正确的。然后"2011" < "30" ,这也是事实。等等。

使用数字可以纠正这个问题。

关于Javascript while循环卡住页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28250150/

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