首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >django,ajax:如何有效地实时更新大量数据

django,ajax:如何有效地实时更新大量数据
EN

Stack Overflow用户
提问于 2011-02-02 10:45:13
回答 5查看 8K关注 0票数 4

我正在创建一个项目,模拟股票交易市场。我在一个很大的html <table>上向用户公开股票数据,其中每个<tr>行都有两个<td>单元格。一个是公司的标志(即AAPL),另一个是当前的市场价值(不能再简单了)。

我现在要做的是使用如下的javascript函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">

$(function(){
    setInterval(loadTable, 10000)
});

function loadTable(){
  $("#se_table").load("/load/table/?ajax&user={{user.username}}");
}

</script>

这是最好的方法吗?当只有一个值改变时,我应该加载整个表吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-02 10:56:08

首先,当表格突然重新呈现时,如果有人忙于处理表格,比如突出显示文本,这可能会导致糟糕的用户体验。如果必须重新加载所有数据,则至少只更新已更改的行。你可以通过javascript内置的表操作或者任意数量的jQuery plugins来实现这一点。

其次,如果它在计算上是合理的,如果您可以计算哪些行发生了更改,并且只发送这些行,那么在数据传输和用户体验方面将会更加有效。为表中的每一行分配一个全局唯一的id,因此您可以使用jQuery轻松地仅更新该行。使用这种技术,还可以很容易地添加特定行已更新的一些视觉提示,例如轻微的颜色更改,这通常很好(在适用的情况下)。

我最喜欢的这种方式(没有Comet)如下:

  1. 每10秒轮询一次页面,该页面仅返回数据是否已更改。检查这一点比一直发送所有数据要高效得多。您只需要存储一个datetime字段,其中包含上次值更改的时间,并对照浏览器接收到的最后一个datetime进行检查(与请求一起发送)。如果日期发生了变化,则使用jQuery trigger方法发送另一个ajax请求,这一次需要一个自该日期时间以来发生变化的行的列表。
  2. 更新受影响的行。

更新

根据您的评论,我将添加一些额外的注释。

  1. 对于轮询,您可能会使用jQuery .get()方法。您说您正在使用Django,所以我建议使用json,这意味着在您看来,您将返回JSON数据。这是a simple tutorial,可以帮助您入门。如果成功,请在回调函数中检查是否有新数据带有从Django视图返回的布尔值,如果有,则调用一个进行新ajax调用的函数来检索相关数据(同样是一个JSON object).
  2. With
  3. 对象,遍历每个必须更新的项,并使用jquery text函数或某个jQuery表插件来更新行。

如果你是新手,这是一个相当冗长和大量的good搜索,但这是一个很好的,干净的方式。

票数 10
EN

Stack Overflow用户

发布于 2011-02-02 11:45:10

广泛使用data属性。在初始GET页面请求期间,使包含值的列如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<td data-for-symbol="GOOG">+256.00</td>

/load/table/?ajax&user={{user.username}}返回一个JSON响应,其中包含自用户上次获取表以来的更新的对象,然后逐个应用它们:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('td[data-for-symbol=' + obj.symbol + ']').text(obj.value);

没有比这更干净的了。

票数 5
EN

Stack Overflow用户

发布于 2011-02-02 11:09:29

您可以考虑使用websockets What browsers support HTML5 WebSocket API?

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

https://stackoverflow.com/questions/4873452

复制
相关文章
Python是构建企业项目的一个好选择吗?
如果你看我博客很长一段时间了,你应该知道我已经做了十多年的Python,甚至写了两本关于它的书。因此,虽然我显然有偏见,在写回复之前,我还想退后一步,并向您保证,亲爱的读者,我在过去20年中使用了许多其他编程语言:Perl,C,PHP ,Lua,Lisp,Java等。我用其中一些构建了很小的大型项目,我认为Lisp是最好的编程语言。因此,我觉得我并不过分偏袒。
后场技术
2020/09/03
4260
Python是构建企业项目的一个好选择吗?
CTF| 这是一个刚挖好的洞······
背景 近期在研究学习变量覆盖漏洞的问题,于是就把之前学习的和近期看到的CTF题目中有关变量覆盖的题目结合下进一步研究。 通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞。经常导致变量覆盖漏洞场景有:$$使用不当,extract()函数使用不当,parse_str()函数使用不当,import_request_variables()使用不当,开启了全局变量注册等。 本篇收集了几个CTF中的题目作为例子,对$$,extract(),parse_str()的问题进行总结。 $$导致的变量覆盖
漏斗社区
2018/03/28
1.9K0
CTF| 这是一个刚挖好的洞······
去欧洲,是医疗AI公司的好选择吗?
医疗AI的商业化一直是行业内人士热衷谈论的话题。虽然想象空间十分巨大,但就以国内的审批标准而言,多数医疗AI企业还尚未满足拿证的条件。与此同时,我们也可以到看到一些企业,在欧洲这一“海外战场”积蓄多年,并且真正地取得了一些实质性突破。
AI掘金志
2020/03/30
9650
怎样选择一个好的虚拟主机
SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议(HTTP)使用 SSL 来实现安全的通信。
全栈程序员站长
2021/09/26
2K0
怎样选择一个好的虚拟主机
你有一个好的归档习惯吗?
备忘和扯一扯最近散仙在工作用到的几个不错的小技术点: (1)使用shell写了一个根据年份能生成此年份下归档文件目录,精确到年-月-日-小时 谈谈本意: 由于散仙最近是在搞我们平台的搜索日志分析的工作,日志记录的数据是存在我们的Hadoop集群的HDFS上,日志记录的形式,自然也是按照年月日小时这样一个目录存储的,至于为啥这么设计,通过时间维度来准确归档: 好处: 这样在分析数据时,便能任意指定时间范围来分析,最细精确到小时上,最大可按年统计,所以,例如最近1小时,3小时,最近7天,最近一个月,
我是攻城师
2018/05/11
8870
这是一个众人裸奔的时代,你害怕吗!!!
生活在科技如此发达的今天,互联网上我们已经没有任何秘密可言。说这是一个「众人裸奔」的时代,其实一点也不过分。不错,皇帝的新衣,说的就是你,重点不在于你是皇帝,而在于「新衣」。不要以为别人说你没穿衣服,你不信,非得像我这么「纯真的小孩」说你在裸奔,你才相信。 Facebook 事件刚刚落下帷幕,Twitter 又搅和进来了。大数据的兴起,云服务的枝繁叶茂,云端数据的计算,让如今这个时代网络安全显的更为重要。 一、 昨天,Twitter 在其官方博客上表示,他们在应用内部发现了新的密码漏洞,“出于谨慎考虑”,建
非著名程序员
2018/07/19
6920
如何选择域名?一个好的域名有哪些原则?
现在是一个互联网经济开放的时代,那么值得说的是互联网基础是什么呢?是提供各种网站来满足各个年龄、文化、教育、习惯等客户群,这就给了许多企业赚钱的机会,只要能细分客户群市场,就可以赚到钱,许多企业于是开始建网站,却忽略了域名的重视,那么接下来请跟随小编一起来看如何选择域名?一个好的域名有哪些原则?从细节上提升网站的影响力。
用户8739990
2021/08/06
2.9K0
如何选择域名?一个好的域名有哪些原则?
一个好的技术团队应该怎么选择开发语言
在过去的三年时间了,作为曾经的研发部经理,我和我的技术总监始终在为一件事而努力着,那就是选择一门合适我们团队的技术语言。 我们研发团队一共有9个人,分为三个小组:移动手机组、后端接口组、web前端组,如果按照大公司的做法,我们完全不必为每组应该选择什么技术语言而担心,我们可以在每组中选择一个组长,由他全权负责即可,公司层面只要最终的结果即可,可事情并没有那么简单。 现实总是残酷的,其中的原因有这么几个:第一:岗位经费不高,想要低成本找一个技术合格的人非常难;第二:知名度有限,一般的技术人才都有更好选择的条件
磊哥
2018/07/04
7370
怎样选择一个好的SaaS知识库工具?
知识库软件将帮助您和您的团队创建和管理您的知识库。这包括设置知识库架构、创建和编辑文章以及搜索和分析您的知识库。
用户9912463
2022/08/09
2520
这是EnterLib PIAB的BUG吗?
在默认的情况下,EnterLib的PIAB采用基于TransparentProxy/RealProxy的机制实现对方法调用的拦截,进而实现了对横切关注点(Crosscutting Concern)的动态注入。也正是其来截机制本身的局限,当我们才用PIAB的方式进行对象的创建的时候,要求本创建对象的类型要么实现某一个接口,要么继承MarshalByRefObject类型。但是当我们让抽象基类继承自MarshalByRefObject就不行了,我个人觉得这是微软需要改进的地方。 一、基于接口实现和对Marsha
蒋金楠
2018/01/16
5540
这是EnterLib PIAB的BUG吗?
一个好的技术团队应该怎么选择开发语言
在过去的三年时间了,作为曾经的研发部经理,我和我的技术总监始终在为一件事而努力着,那就是选择一门合适我们团队的技术语言。 我们研发团队一共有9个人,分为三个小组:移动手机组、后端接口组、web前端组,如果按照大公司的做法,我们完全不必为每组应该选择什么技术语言而担心,我们可以在每组中选择一个组长,由他全权负责即可,公司层面只要最终的结果即可,可事情并没有那么简单。 现实总是残酷的,其中的原因有这么几个:第一:岗位经费不高,想要低成本找一个技术合格的人非常难;第二:知名度有限,一般的技术人才都有更好选择的条件
磊哥
2018/05/08
7530
如何设计一个好的测试用例?
“好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。
孟船长
2019/12/17
1.2K0
如何写出一个好的设计文档?
大部分的工程师都不重视设计文档的书写,对于一个需求,都是经过一些简单的讨论,写一个简单的方案甚至就是自己简单的想想就开始进行编码的工作。
一个会写诗的程序员
2019/07/18
2.3K0
cad看图软件哪个好?如何选择好的软件
CAD对于很多人来说应该是不陌生的,因为进行平面设计等行业的人基本都会用到CAD,而且在如今这个“技多不压身”的时代,学习CAD已经是大多数人的学习日常,毕竟它的运用领域还是非常广泛的。尤其是如今CAD也有了相信的认证考试,考试门槛并不高,所以越来越多的人都想要学习CAD。和CAD无法分割的就是cad看图软件,通过cad看图软件才能够将整个图完整呈现出来,那么cad看图软件哪个好呢?
用户8715145
2021/06/17
12.8K0
这是你了解的 print()函数吗
print() 应该是初学者最先接触到的第一个 Python 函数,因为几乎所有的启蒙课程都是从 print(‘Hello world’) 开始的。事实上, print() 也是程序员使用频率最高的函数之一,同时也是很多程序员喜欢的代码调试利器。但是关于 print() 函数,你真的了解吗?
IT茂茂
2020/03/05
5700
这是你了解的 print()函数吗
网站建设哪家好公司好?应该如何选择?
随着市场经济的发展,很多工作划分的越来越细,专业性也越来越高,现在很多企业都喜欢将部分工作外包给专业的公司负责,一方面可以帮助企业节省成本,另一方面,专业的人做专业的事,效果更好。比如企业网站建设,现在企业一般都会选择专业的网站搭建公司帮助建设企业网站,市面上也有很多各种各样的网站建设公司,但是网站建设哪家好公司好呢?很多人并不会挑选。
用户8715145
2021/11/03
7.6K0
Django小技巧22: 设计一个好的模型
本篇将分享一些技巧,用户改进 Model 的设计。其中有很多与命名约定有关, 这可以大大的提高代码的可读性。
用户1416054
2018/12/07
8990
高内聚与低耦合_低内聚高耦合是一个好设计的特征吗
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说高内聚与低耦合_低内聚高耦合是一个好设计的特征吗,希望能够帮助大家进步!!!
Java架构师必看
2022/09/12
9180
高内聚与低耦合_低内聚高耦合是一个好设计的特征吗
好的界面设计
1.尽量使用单列而不是多列布局 单列布局能够让对全局有更好的掌控。同时用户也可以一目了然内容。而多列而已则会有分散用户注意力的风险使你的主旨无法很好表达。最好的做法是用一个有逻辑的叙述来引导用户并且在
前朝楚水
2018/04/02
1.3K0
好的界面设计
来自硅谷的互联网企业是一个好的选择么?
过去的一周多每天戴着耳机,对邮箱里看得上眼的简历电话筛选。作为一个「内向」的,不那么喜欢电话沟通的人,我从未这么集中地打过电话 —— 我的舌肌和咬肌得到了前所未有地锻炼,仿佛这辈子要煲的电话粥,说的情话,都得在短短几日里完成。 很多招聘者对待面试是一个居高临下的态度,仿佛一份工作机会是一份给予,是施舍,是「有个工作就不错了你还那么矫情究竟想怎样爱来来不来滚」(这是我在公司所在的众创空间亲耳听到的某个团队的对话)。我(以及我呆过的主要公司:tubitv,途客圈,Juniper)对此都持完全相反的态度。公司和
tyrchen
2018/03/29
9630

相似问题

用于google ajax搜索的grails url映射

10

url_for()在ajax中调用静态文件

24

KML Google不会处理URL中的空白

11

带有空白"url“的jQuery中的AJAX

12

使用MapView时的空白映射

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文