D3.js从file:///加载本地数据文件

时间:2013-03-14 18:32:56

标签: d3.js

我知道D3.js支持使用XHR和JSONP requests加载数据文件。

但是在我的情况下,我将通过从文件系统双击它们来运行.html文件,这将在浏览器上像file://.../foo.html一样运行它。

是否可以在浏览器上将foo.html上的数据文件(csv或json)加载到计算机的同一目录中(虽然没有在http://但是file://上运行)?

4 个答案:

答案 0 :(得分:25)

最好的解决方案是在您的计算机上运行服务器以使其正常工作。

here所述,拥有本地Web服务器的最简单方法是在您拥有源代码的目录中运行此命令:

python -m SimpleHTTPServer 8888 &

然后只需加载页面http://localhost:8888

答案 1 :(得分:4)

您可以通过在浏览器中禁用相应的安全机制。我认为默认情况下它适用于Opera,您可以使用--allow-file-access-from-files命令行标记启动Chrome,以允许从file://加载数据。

答案 2 :(得分:2)

与上面的Christopher Chiche的python答案类似,您也可以使用各种版本的PHP附带的内置服务器。

php -S localhost:8888 & 

这对我来说更有用,因为我的应用程序已挂钩到php后端脚本以及d3前端。

答案 3 :(得分:2)

添加到 Christopher Chiche 的回答中(我是新用户,无法发表评论)。 对于 Windows 中的 python 3,该命令不起作用。而是使用这个

viewWillTransition

here所述,在python 3中

<块引用>

SimpleHTTPServer 模块已被 http.server 取代,至少在 Windows 中是这样。