首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax数据更新。埃克斯

Ajax数据更新。埃克斯
EN

Stack Overflow用户
提问于 2009-11-16 15:15:04
回答 5查看 1.7K关注 0票数 3

我需要保持某些数据(在一个网格中)的最新情况,并打算每15个seocnds对服务器进行一次轮询,以获取数据并刷新网格,但是它感觉有点脏(网格将每15秒有一个加载图标)。看起来不太好..。

另一种选择是检查是否有新数据,并将新数据与当前数据进行比较,并且只在有任何更改时刷新网格(因为维护每个登录用户的当前状态似乎也是一种过度),因此我必须这样做。

我相信有更好的解决方案,我很想听听它们。

我听说过彗星的事,但是乳头似乎有点过分了

顺便说一下,我在服务器端使用了asp.net MVC。

我想听听人们对js啦啦队继续投票的支持或反对意见。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-23 14:16:20

听起来彗星确实是你要找的解决方案。在这种情况下,您不需要轮询,也不需要进行比较,因为您只能将“相关”更改的数据推到网格中。

看看WebSync,它是一个很好的.NET彗星服务器,可以让你做你所描述的事情。

这里有一个使用ExtJS和ASP.NET的演示,它推动股票代码更新的连续流。演示的内容比您需要的要多一些,但是主体是相同的。

票数 2
EN

Stack Overflow用户

发布于 2009-11-16 15:26:17

每次从服务器获得答案时,检查是否有什么变化。

做个请求。请让用户知道您正在使用一些旋转器,不要隐藏它。将下一个请求安排在15秒内。下一个请求将执行;如果没有任何更改,请在15 +5秒内安排下一个请求。下一个请求将执行;如果没有任何更改,请在15 +5 +5秒内安排下一个请求。诸若此类。执行下一个请求;如果确实发生了更改,请将间隔重置为15秒。

Prototype可以用Ajax.PeriodicalUpdater半自动地完成这个任务,但是您可能需要更符合您需要的东西。

总之,只是个主意。

至于持续轮询,一般情况下,只有在访问另一个站点(使用PHP“桥接”或类似的方法)时才会出现问题。如果你正在使用你自己的资源,你只需要确保你没有耗尽它们。用衰变来设定适当的间隔。

票数 1
EN

Stack Overflow用户

发布于 2009-11-17 19:44:01

我认为,如果“更新需要保持不变”,Comet并不是过火。15秒非常频繁地使用;您是否被很多人访问过?在满足其他请求的同时,您的服务器可能会被消耗掉。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1742809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档