来自本地目录的jQuery $ .get在IE与FF,Chrome中产生不同的行为

时间:2011-10-10 12:00:17

标签: javascript jquery

我有以下简单的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文件的内容。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您遇到了同源政策的问题。如果您查看浏览器的控制台,您会看到Origin null is not allowed by Access-Control-Allow-Origin.

的内容

有两种可能的解决方法:

  1. 在XAMPP,MAMP等本地网络服务器上运行您的资料。

  2. Disable all web security on Chrome Startup,你在现实生活中显然不想这样做。在FF中也不起作用。所以,坚持1.;)