2

python -m SimpleHTTPServer 8888ディレクトリから実行していて、 を読み取る javascript コマンドを含むファイルmy_serverにアクセスしたいのですが、そのファイルがそのサブフォルダーまたはそのサブフォルダーの 1 つにありません。index.htmlmy_file.csvmy_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

内部のjavascriptを使用してこのシンボリックリンクをたどっindex.htmlて読む方法はありますmy_file.csvか?

<script>
    //read URL params
    ...
    d3.csv(file, ...)
</script>
4

2 に答える 2

5

ブラウザで実行されているJavaScriptは、ファイルシステムにまったくアクセスできません(さらに言えば、ブラウザで他に何もアクセスできません)。

クライアントにはURIのみが表示されます。

URIに適切なリソースを提供するのは、Webサーバーの責任です。

シンボリックリンクをたどるようにSimpleHTTPServerを編集/構成するか、サーバーが実行されているユーザーがリンクのもう一方の端にあるファイルにアクセスする権限を持っていることを確認する必要があります。

于 2012-05-16T22:04:08.860 に答える
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です。

于 2012-05-16T22:08:56.670 に答える