2011-03-25 113 views
0

我有一个web应用程序每隔5秒(一旦用户处于非活动状态)向本地服务器发送获取请求以重新加载当前页面上的数据。无缝页面刷新的轻量级jQuery ajax请求

我用了一个非常简单的方式JQuery的load()方法是这样的:

$('#outer').load('index.php #inner'); 

萤火告诉我每个请求都完成了〜14-50ms,所以我不认为请求正在堆叠。

我的问题是大约20-30次请求后,拉数据有点'波涛汹涌',使它消失,然后再出现几毫秒后。

这种'不稳定'也循环进出每隔几分钟左右。

由于我使用加载方法纯粹是为了页面无缝刷新,是否有任何选择可以用来减轻浏览器的压力?我能以某种方式优化$ .ajax()方法吗?

回答

0

不幸的是,实现您想要的效果的最佳方式是让您获得更多的工作。

您需要从index.php中获取数据,使用$ .ajax jQuery调用,然后通过XML/JSON发送数据,然后每20-30秒显示一次。数据将被检索到AJAX调用,并用新的HTML代替当前的HTML(如果HTML不同 - 你需要在这里检查这个检查),因此会更有效/更少波动。

您还可以使用慢速轮询来实现更高的效果 - 因此,如果您想使用它,看看这里:http://www.ape-project.org/