gpt4 book ai didi

javascript - d3.csv 无法上一级目录

转载 作者:数据小太阳 更新时间:2023-10-29 06:05:13 24 4
gpt4 key购买 nike

我正在尝试使用 d3.csv 引用位于父文件夹中的文件,但找不到正确的语法。

我的文件夹结构如下:

root
└── js
├── data.csv
└── myGraph.js

在 js 文件夹中,我有 myGraph.js。在这个文件中,我有以下代码:

d3.csv("data.csv", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.close = +d.close;
});

如果我将 data.csv 放在 js 文件夹中,一切正常。但是,如果我将 data.csv 文件移到根文件夹中

root
├── data.csv
└── js
└── myGraph.js

并将代码更改为此然后它停止工作:

d3.csv("/../data.csv", function(error, data)

我也试过:

d3.csv("../data.csv", function(error, data)

有谁知道我做错了什么以及正确的语法是什么?非常感谢。

最佳答案

罗伯特 - 要让它发挥作用,需要完成几件事:

1) 由于浏览器安全模型,您不能通过直接指定本地目录中文件的绝对路径或相对路径来直接从浏览器引用/加载本地计算机上的文件。你必须使用本地网络服务器来提供你的文件并使它们可供浏览器访问(或者你将它们上传到你有一个 URL 的地方,你可以在 d3.csv 调用中指定...但这会很乏味)。

2) 通常,您可以在包含.js.html 文件的目录中运行基本的HTTP 服务器。例如,如果您在系统范围内安装了 Python 3,则可以使用 python -m http.server 从命令行在目录中启动 HTTP 服务器。然后你可以通过 http://localhost:8000 访问你的站点 不幸的是,这个基本服务器只提供它启动目录中的文件,不允许相对路径引用外部的其他文件它在其中启动的目录。为此,您需要运行一个功能更强大/更灵活的本地网络服务器,该服务器可以设置为允许跨多个文件夹基于相对路径引用文件。

这有点乏味,但是为什么浏览器被设计为不允许直接访问本地文件是有道理的。

关于javascript - d3.csv 无法上一级目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41588875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com