如何使用javascript关注符号链接?

时间:2012-05-16 22:01:46

标签: javascript d3.js simplehttpserver

我正在从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>

2 个答案:

答案 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