18

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

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

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

4

4 回答 4

29

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

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

python -m SimpleHTTPServer 8888 &

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

于 2013-03-14T18:36:14.340 回答
8

您可以在浏览器中禁用相应的安全机制。我认为它默认在 Opera 中工作,您可以使用--allow-file-access-from-files命令行标志启动 Chrome 以允许从file://.

于 2013-03-14T19:01:50.753 回答
2

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

php -S localhost:8888 & 

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

于 2016-03-03T23:30:17.580 回答
2

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

python -m http.server [<portNo>]

如此处所述,在 python 3 中

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

于 2021-02-18T01:56:31.610 回答