【发布时间】:2011-05-06 01:59:35
【问题描述】:
我正在尝试使用以下命令每 10 秒从服务器请求一个 json 对象:
setInterval(function(){
$.ajax({
url: '/',
success: function(data){
//do stuff with data
}
});
}, 10000);
但这不是很有效。我知道长轮询,但我认为它不会有很大的不同。我知道我会每 10 秒收到一次新数据,那么在效率方面这不是让 long-polling 与 setInterval 完全相同吗?
浏览器端缓存是解决这个问题的好方法吗?
我将得到的 JSON 对象如下所示:
var data = {1: {'user': 'John', 'age': '25'}, {2: {'user': 'Doe', 'age': '30'}}
有了这个,我想显示 data[0].user 几秒钟,然后通过使用 'fadeOut' 和 'fadeIn' 等平滑地将其更改为 data[1].user 直到它用完用户。 我基本上想创建用户用户名的幻灯片。
缓存是一个很好的解决方案,还是我应该坚持每 10 秒进行一次 ajax 调用?如果是这样,那我将如何实现它,如果不是,我应该使用什么方法?
我不确定我是否解释得足够好,如果还有什么不清楚的地方请告诉我。
【问题讨论】:
标签: javascript jquery ajax json