Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:单击按钮时退出Javascript循环_Javascript_Loops_Label - Fatal编程技术网

Javascript:单击按钮时退出Javascript循环

Javascript:单击按钮时退出Javascript循环,javascript,loops,label,Javascript,Loops,Label,我有一个javascript循环,通过ajax调用php函数。我需要点击一个按钮来停止这个循环。 我尝试使用标签,但不可能: labelName: for (var counter = 0; counter <= 1000; counter++) { ... ajax call ... } $('#button-stop').click(function(event) { event.preventDefault(); break labelNam

我有一个javascript循环,通过ajax调用php函数。我需要点击一个按钮来停止这个循环。 我尝试使用标签,但不可能:

labelName:
for (var counter = 0; counter <= 1000; counter++) {
    ...
    ajax call
    ...
}

$('#button-stop').click(function(event) {
    event.preventDefault();
    break labelName;
});
labelName:

对于(var counter=0;counter您无法以这种方式停止循环。单击按钮时,“click event”(单击事件)将被放入事件循环,并且只有在循环完成后才会执行。因此,在您的变体中,无论如何都会向服务器发送一千个请求

如果要控制向服务器发送消息,最好使用间隔:

var sender = setInterval(function() {
    //ajax here
}, 1000);

$('#button-stop').click(function(event) {
    clearInterval(sender);
});

使用event.preventDefault或返回false;