web-dev-qa-db-ja.com

Chromeの「Origin nullはAccess-Control-Allow-Originでは許可されていません」。どうして?

私は自分のPCでローカルに実行するJavascriptに取り組んでいます。 jQuery CSVプラグイン(http://plugins.jquery.com/project/csv)を使用して、csvファイルをJavaScript配列にロードします。スクリプトは簡単です:

$(function(){
 $.get("file.csv", function(data){
  stuff = $.csv()(data);
 })
})

Firefoxでは正常に動作しますが、Chromeでは「Origin nullはAccess-Control-Allow-Originでは許可されていません」と表示されます。これはどういう意味ですか?クロスサーバーに関するあらゆる種類のスレッドを見つけますこのエラーに関連するものですが、私はただローカルファイルで作業しています。

50
Moss

Chromeは、2つのローカルファイル間に共通の関係があるとは考えていません。

オプション "--allow-file-access-from-files"で開始して、同意しないことを伝えることができます。

しばらく前に本質的に同じ質問をしたとき、この情報を提供してくれたアセンダントマスターのニッククレイバーに感謝します。

88
Pointy

Mac OS Xを使用している場合は、ターミナル[cdをWebルートに開いて実行します:

python -m SimpleHTTPServer

次に、Chrome(またはその他のWebブラウザー)で次のURLを開きます。

http://0.0.0.0:8000
17
WebSeed

それは何らかの不明確な理由でクロスドメインのようです(この問題に関して各ブラウザの動作が少し異なります。IEを試して結果を確認することもできます)。 JavaScriptはローカルで実行されるため、絶対パスを指定します。

2
Cu7l4ss