我正在对从MS SQL服务器数据库提取的某些数据生成强制导向布局(使用d3.js http://bl.ocks.org/mbostock/raw/4062045/)。目前我正在使用python脚本生成json文件,然后使用python -m SimpleHTTPServer在本地服务器上运行它。显示进度条或阻止UI直到生成文件服务器端
我想要做的是在我的python脚本和HTML之间创建一个链接,当我输入web地址时,python脚本应该在服务器端运行并生成json文件。在此期间,我需要阻止用户界面。生成文件时,图形应显示在屏幕上。我可以分别生成图形和json文件。需要把它们放在一个blockui或进度条(我认为进度条会太多)。
我是javascript和web开发的小菜鸟,有点在学习时创建我的图形。任何在这方面的指导将非常感激。
感谢,
Prateek
编辑:
代码为现在的片段如下:
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.
你不能有一个真正的进度条(除非你做了一大堆不值得的工作)。你只需要一个旋转轮或类似的东西就行吗? – GJK
是的。这就是为什么我说进度条太多的工作..纺轮会很好。任何体面的,我可以阻止用户界面。 –
你可能想重新考虑你的方法。阻止用户界面通常不是一件好事。 – Dom