我正在从python -m SimpleHTTPServer 8888
目录运行my_server
,我想访问包含index.html
的javascript命令的my_file.csv
文件,但该文件不在my_server
或其中一个子文件夹。
path/to/my_server $ ln -s /some_path/to/my_file.csv symbolic_link_to_my_file.csv
path/to/my_server $ python -m SimpleHTTPServer 8888
如果我在my_server
内创建指向my_file.csv
的符号链接,然后像这样访问它:
http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv
有什么办法可以跟{J} index.html
内的javascript一起使用此符号链接来阅读my_file.csv
吗?
<script>
//read URL params
...
d3.csv(file, ...)
</script>
答案 0 :(得分:5)
在浏览器中运行的JavaScript根本无法访问文件系统(就此而言,浏览器中也没有其他任何内容)。
客户端只能看到URI。
网络服务器有责任为URI提供适当的资源。
您需要编辑/配置SimpleHTTPServer以遵循符号链接和/或确保运行服务器的用户有权访问链接另一端的文件。
答案 1 :(得分:1)
阅读d3.csv
命令上的文档,您需要向其发送完整的URL。 https://github.com/mbostock/d3/wiki/CSV
file
命令中d3.csv(file
的值是多少?如果您发送类似“filename.csv”的内容,则可能只是将其附加到当前URL或当前目录。您可能希望像这样发送一个完整的URL(在开头有一个斜杠):
/folder/myfile.csv
如果您在浏览器中输入此URL,它会为您提供CSV文件吗?
http://localhost:8888/my_server/index.html?file=symbolic_link_to_my_file.csv
如果确实如此,那么file
的内容应该是/my_server/index.html?file=symbolic_link_to_my_file.csv
。