2011-03-07 101 views
49

我正在使用一些Javascript在本地PC上運行。我正在使用jQuery CSV插件(http://plugins.jquery.com/project/csv)將一個csv文件加載到javascript數組中。腳本很簡單:Chrome中的「訪問控制 - 允許來源不允許原產地null」。爲什麼?

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

在Firefox中,它工作正常,但在Chrome中它表示「Origin null不被Access-Control-Allow-Origin允許」。那是什麼意思?我發現有關這個錯誤的跨服務器的東西的各種線程,但我只是與本地文件。

+1

我有同樣的問題。 這是很容易解決與本地服務器,如:XAMPP,WAMP等。 不需要特殊的技巧。 – 2011-12-07 08:12:10

回答

88

Chrome不相信任何兩個本地文件之間有任何共同的關係。

你可以用選項「--allow-file-access-from-files」來啓動它,告訴它你不同意。

感謝上升的大師Nick Craver對這個信息的支持,當時我基本問了同一個問題。

+0

嗯。我嘗試你說的話,但仍然得到相同的錯誤。也許我開始Chrome錯了? – Moss 2011-03-07 23:06:34

+12

確保你關閉了正在運行的每一個chrome實例,否則它不會接受更改。所以只要確保在進程列表中沒有chrome.exe – chrismarx 2011-05-17 14:47:09

+0

並在MACOSX上? – sparkle 2012-06-21 19:09:45

2

這就像一個不明原因的跨域(每個瀏覽器在這個問題上的行爲有點不同,你甚至可以嘗試IE並查看結果)。您應該嘗試通過Web服務器來運行它,並且在JavaScript本地運行後給它一個絕對路徑。

-1

你可以嘗試在你的apache web服務器上運行它。它會工作。

+0

這應該是一個評論... – 2014-09-05 05:03:40

17

如果您使用的是Mac OS X,打開終端,cd到Web根目錄並運行:

python -m SimpleHTTPServer 

然後在Chrome中打開下面的網址(或任何其他網絡瀏覽器):

http://0.0.0.0:8000 
+3

作品!謝謝。對於MAC OS X是更好的解決方案。 – Gere 2013-04-26 13:14:03

+0

也適用於Linux。對於需要快速Web服務器的用戶來說,這是一個很好的解決方案。 – Phyxx 2013-05-30 20:19:46

相關問題