AJAX不断寻找服务器更新? 使用Javascript

我的情况是网页上的显示需要随机更新。 我想在AJAX中这样做,但我不知道如何做到这一点,而不是做一个

while(true) { ajaxFunction(); sleep(1) } 

输入东西。

这样做的问题是,在更改服务器时,网页需要非常快速地更新,但是这些更改可能偶尔会偶尔发生。

编辑:这是一个使用UIWebView的Iphone应用程序,是否可以使用iPhone的推送通知与javascript接口?

谢谢!

我认为你所描述的是Comet,并且有几个jQuery插件:

http://code.google.com/p/jquerycomet/

http://plugins.jquery.com/project/Comet

我能想到的唯一方法是不断查询它。 只是保持你的回答很小,这样你就不会无缘无故地移动一堆数据。 您甚至可以暂停服务器的响应,直到数据可用。

 setInterval(function(){ $.get("updates.php", function(result) { alert(result); }); }, 5000); 

甚至可以在updates.php中构建一些逻辑,以便在用户部分不活动10分钟后取消setInterval()。 这将扼杀不再登录的用户的持续请求。

当您想要优化服务器负载时,您应该考虑实施某种彗星(服务器推送)技术。 如果您只有少数用户,则轮询解决方案是合适的。

关于彗星:彗星技术不是别的,而是向服务器发出一个简单的http请求,服务器不会立即响应请求,而是等待有需要回复的内容。 直到服务器上的线程被暂停。

在实现服务器推送技术时应该考虑一些技术方面(比如我应该在哪里挂起线程)。 最好使用开源的。 如果搜索彗星,很容易在网上找到它们。

如果更改是零星的,请考虑不使用任何AJAX。 等待用户刷新或重新访问该页面。