我有以下简单的jQuery:
$.get('Data.csv', function(data) {
alert(data);
});
Data.csv
存储在与访问它的html文件相同的文件夹中。
如果我在网址(即www.mysite.com/path/to/file)的所有浏览器中运行此操作,则警报将显示Data.csv
内容的字符串值。< / p>
如果我创建一个指向本地文件夹的主机文件链接(即host.mysite.com/path/to/file),那么alert将在所有浏览器中显示Data.csv
内容的字符串值。
如果我在本地打开文件(即c:\ path \ to \ file)时在IE 9中运行此命令,则警报将显示内容为Data.csv
的字符串值。
但是,如果我在本地打开文件(即文件:/// c:/ path / to / file)时在FF或Chrome中运行此操作,则警报将显示[object XMLDocument]
。
有谁知道这是为什么以及如何在FF和Chrome中以字符串形式打开本地文件?
n.b。 - 我已对此进行了测试,以排除跨平台安全问题。我不认为这是原因,否则它根本不会分配csv文件的内容。
提前致谢。
答案 0 :(得分:1)
您遇到了同源政策的问题。如果您查看浏览器的控制台,您会看到Origin null is not allowed by Access-Control-Allow-Origin.
有两种可能的解决方法:
在XAMPP,MAMP等本地网络服务器上运行您的资料。
Disable all web security on Chrome Startup,你在现实生活中显然不想这样做。在FF中也不起作用。所以,坚持1.;)