【发布时间】:2016-04-28 04:51:17
【问题描述】:
我正在尝试每 5 秒使用 ajax 调用更新一次视图。我是通过以下方式完成的。
function getData(a, b, c) {
$.ajax({
url : 'url',
success : function(data) {
$("#result").html(data);
setTimeout(getData, 5000, a, b, c);
}
})
}
$(document).ready(function() {
getData(1, 2, 3);
});
$('.btn').click(function(){
getData(4,5,6);
});
但是,通过这种方式,运行的功能与点击次数一样多。
我需要停止前一个并运行新的或更改运行函数的参数。
【问题讨论】:
-
使用
clearTimeout()停止执行您的 setTimeOut 函数.. -
我已经尝试过了,但无法捕捉到正在运行的事件。清除超时(???)
-
您可以在 ajax 调用中设置更多参数。
async : false。它会一一调用。
标签: javascript jquery ajax settimeout