jQuery - 如何在满足某些条件时调用ajax

时间:2012-07-13 14:33:04

标签: javascript jquery

我知道您可以使用函数setInterval以固定的时间间隔调用您的ajax函数。我想要实现的是这样的事情:

while (true) //but obviously this while loop will block other code. I'd like it non-blocking
{   //if certain condition is met, call my ajax function.
}

所以基本上代码应该静静地放在后台,听着。如果满足某些条件,请拨打ajax电话。

可以在jquery / javascript中使用吗?

编辑:对于条件:基本上,我将自动滚动一个大表的行(这是另一个问题,另一个帖子......),一旦到达最后一行,满足条件,调用ajax从服务器获取数据,重新填充表格,然后再次开始自动滚动。

2 个答案:

答案 0 :(得分:1)

在Javascript中,条件不会单独“满足”。

它(大多数情况下)是一种单线程语言,其中UI线程只是等待事件发生,作为响应,程序员提供的事件处理程序就可以了。只要他们正在做的事情,UI线程就无法再处理任何事件了。

这就是为什么你不应该使用繁忙的循环,或者以紧密的循环占用CPU进行冗长的计算。

总而言之,你不应该需要民意调查一个条件 - 当条件变为真时它应该是明显的,因为某些事件会被触发,允许它变为真实

然后,您应该能够在该事件的处理程序中触发您的AJAX请求


编辑您现在已经澄清了当滚动到达表格末尾时您想要这样做。

如上所述,(当然)有一个事件告诉你滚动的东西,它会告诉你多远。

查看http://api.jquery.com/scroll/

您需要为该事件注册一个处理程序,然后在该处理程序中触发您的AJAX调用

答案 1 :(得分:0)

如果您有活动,当然可以。然后你可以附加一个处理程序。 所以问题是:什么条件?