Javascript在setInterval中添加参数

Javascript在setInterval中添加参数,javascript,ajax,Javascript,Ajax,我有可以点击的元素。元素的数量取决于MySQL查询的类型。 单击元素时,它需要使用AJAX每秒查找一次数据。 每个元素都有数据库中的特定答案。 当一个元素的预期数据到达时,该元素的函数必须停止 若有一个元素,我可以让它工作,但若查询中有多个元素,我不知道如何继续 //MYSQL QUERY while($query->fetch()) { <div id="<?php echo $query['id']; ?>" onclick='getData("<

我有可以点击的元素。元素的数量取决于MySQL查询的类型。
单击元素时,它需要使用AJAX每秒查找一次数据。
每个元素都有数据库中的特定答案。
当一个元素的预期数据到达时,该元素的函数必须停止

若有一个元素,我可以让它工作,但若查询中有多个元素,我不知道如何继续

//MYSQL QUERY

while($query->fetch())
{
<div id="<?php echo $query['id']; ?>" 
     onclick='getData("<?php echo $query['id']; ?>");'>

</div>
}

最简单的方法是将间隔ID存储在DOM元素中:

elm.addEventListener("click", function() {
    elm.intervalID = setInterval(/* whatever */, 1000);
});
然后您可以清除:

clearInterval(elm.intervalID);

如果只是查找数据,为什么不使用JQuery的AJAX对象的回调功能呢

$.ajax("service.php")
    .done(function(data) {
         document.getElementById(id).innerHTML = data;
    });

我猜得很疯狂,但可能是因为问题没有用jQuery标记,OP也没有在任何地方使用jQuery?这是什么
$data['response']
?它是一个名为
$data
的对象,一个dollarsign并不意味着jQuery正在被使用,即使它很可能被使用is@Papa我不知道这个!这个
done
意味着什么东西在php文件中被回响?我想举个简单的例子please@greg
.done
在请求完成时触发。查看我的编辑。只是一个问题:您是否应该使用
数据
属性?
$.ajax("service.php")
    .done(function(data) {
         document.getElementById(id).innerHTML = data;
    });