我正在对从 MS SQL 服务器数据库中提取的一些数据进行强制定向布局(使用 d3.js http://bl.ocks.org/mbostock/raw/4062045/ )。目前我正在使用 python 脚本生成 json 文件,然后使用 python -m SimpleHTTPServer 在本地服务器上运行它。
我想要做的是在我的 python 脚本和 HTML 之间创建一个链接,这样当我输入网址时,python 脚本应该在服务器端运行并生成 json 文件。在此期间,我需要阻止 UI。生成文件后,图形应显示在屏幕上。我可以分别生成图形和 json 文件。需要将它们与 blockui 或进度条放在一起(我认为进度条会太多)。
我是 javascript 和 web 开发的菜鸟,在创建我的图表时有点学习。在这个方向上的任何指导将不胜感激。
谢谢,
普拉泰克
编辑:
截至目前的代码片段如下:
d3.json("json_data.json", function(error, graph)
{
var nodeMap = {};
graph.nodes.forEach(function(x) { nodeMap[x.name] = x; });
graph.links = graph.links.map(
function(x)
{
return {
source: nodeMap[x.source],
target: nodeMap[x.target],
value: x.value
};
});
force
.nodes(graph.nodes)
.links(graph.links)
.start();
这段代码我将放在 ajax 请求的成功部分下。我希望脚本发送 ajax 请求一分钟,以查看服务器上是否存在 json_data.json 文件,并在创建文件时显示纺车,如果时间用完,则控制转移到错误请求的部分。
json文件简单如下:
nodes: {}
links: {} //without any children level of depth.