8

我试图让动态重新加载在 d3 中工作,但我在试图弄清楚如何刷新数据库中的数据时遇到了麻烦。

我有一个包含值的数组应该每秒更改一次:

var 数据 = [1,2,3,4];

在我的初始脚本中,我让 PHP 从数据库中提取数据来设置数组,并且重新加载页面可以正常工作,但我想使用 d3 的重新加载功能来获取新数据并重新绘制图表。

我对 js 和 d3 完全陌生,所以任何建议都会非常有帮助。

我尝试使用 jQuery 的 get 命令来调用输出值的外部 PHP 脚本,但这似乎不起作用。

我基本上是在尝试从 Google Analytics 实时显示中复制条形图。

4

2 回答 2

1

首先,您需要服务器上的一个页面,该页面将以 JSON 格式输出数据*。获得该页面后,从浏览器调用它,您应该会在屏幕上显示编码数据(这将证明该页面已正确托管并返回数据)

接下来,按照 Yeco 发布的 D3 文档链接上的简单示例进行操作。您需要将虚拟 URL 替换为新数据页面的地址,并在其中粘贴您自己的函数调用以使用新数据重新绘制图表。

*注意:我不熟悉 PHP,但它应该有一个原生的 JSON 编码器,或者一个库可以在网上获得。您还需要确保正确设置响应 mime 类型 - 一个快速的 google 应该为您提供正确的 mime 类型 - 我认为它类似于“应用程序/json”,但不记得我的头顶

于 2012-09-20T19:49:12.477 回答
1

这可能会对您有所帮助:https ://github.com/d3/d3-request/blob/master/README.md#request

编辑:更新到 API v4 的链接

于 2012-09-20T19:41:20.753 回答