【问题标题】:CometD receiving published data using jquery in front-endCometD 在前端使用 jquery 接收发布的数据
【发布时间】:2011-10-06 20:38:36
【问题描述】:

我正在做一个市场/股票观察网络项目。

在服务器端,我在 cometd-jetty 实现上有一个 Servlet 和 Service。

服务(CometD 客户端发布者)发送 JSON 发布数据。即[{“股票代码”:“ABC”},{“股票代码”:“DEF”}]。发布数据的时间间隔几乎是每秒甚至更短。

在前端,我使用 cometd javascript 实现来获取数据并使用 jquery 将其呈现在 html 表中。

问题:

1.) 以非常快的速度从发布者/cometd 服务器接收数据(每条消息不到一秒)呈现表中数据的最佳方法是什么(使用 datatables 插件)?

2.) 当股票价格变化时,如何通过高亮表格单元格指示价格变化?我正在尝试使用 js 或 jquery 来解决这个问题?

非常感谢您的帮助!

【问题讨论】:

    标签: javascript jquery comet datatables cometd


    【解决方案1】:

    1) DataTables 插件可以使用 JavaScript 数组作为其数据源。您将拥有某种处理传入数据的方法;将其推送到 JS 数组中,然后以它为源调用 .dataTable()。

    2) 在 DataTables 初始化对象中,您可以在各个阶段设置回调函数。其中之一是 fnRowCallback,它允许您根据可用数据修改行和其中的单元格。抓取数据,运行你的比较函数,当满足条件时,修改单元格。

    对于这两个问题,DataTables.net 上都应该有示例代码。

    【讨论】:

    • 根据第一个答案,我已经这样做了。第二个,我对你所说的理解是我可以获得以前的和新的单元格值。是对的吗?如果是这种情况,我可以实现所需的高亮功能。感谢格雷格的回答!
    • 嗯,我认为我给了错误的印象。在触发 fnRowCallback 时,之前的值已经消失。您将从 fnRowCallback 中运行比较函数,但“以前的”数据需要在其他地方可用。每次数据进入 DataTables 时,您应该将其副本存储在适当范围的变量中。
    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 2014-08-31
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多