我知道 D3.js 支持使用 XHR 和 JSONP请求加载数据文件。
但是在我的情况下,我将通过从文件系统中双击它们来运行 .html 文件,这将像file://.../foo.html
在浏览器上一样运行它。
是否可以在与浏览器相同的目录中从计算机加载数据文件(csv 或 json)foo.html
(虽然没有运行http://
但file://
)?
最好的解决方案是在您的计算机上运行服务器以使其正常工作。
拥有本地 Web 服务器的最简单方法是在您拥有源代码的目录中运行此命令,如下所述:
python -m SimpleHTTPServer 8888 &
然后只需加载页面http://localhost:8888
您可以在浏览器中禁用相应的安全机制。我认为它默认在 Opera 中工作,您可以使用--allow-file-access-from-files
命令行标志启动 Chrome 以允许从file://
.
与上面 Christopher Chiche 的 python 回答类似,您也可以使用各种 PHP 版本附带的内置服务器。
php -S localhost:8888 &
这对我来说更有用,因为我的应用程序有一个 php 后端脚本以及 d3 前端的钩子。
添加到 Christopher Chiche 的答案(我是新用户,无法评论)。对于 Windows 中的 python 3,该命令不起作用。而是使用这个
python -m http.server [<portNo>]
如此处所述,在 python 3 中
模块 SimpleHTTPServer 已被 http.server 取代,至少在 Windows 中是这样。