Chrome 中的“Access-Control-Allow-Origin 不允许使用 Origin null”。为啥? [复制]

Posted

技术标签:

【中文标题】Chrome 中的“Access-Control-Allow-Origin 不允许使用 Origin null”。为啥? [复制]【英文标题】:"Origin null is not allowed by Access-Control-Allow-Origin" in Chrome. Why? [duplicate]Chrome 中的“Access-Control-Allow-Origin 不允许使用 Origin null”。为什么? [复制] 【发布时间】:2011-07-10 14:08:15 【问题描述】:

我正在开发一些 javascript 以在我的 PC 上本地运行。我正在使用 jQuery CSV 插件 (http://plugins.jquery.com/project/csv) 将 csv 文件加载到 javascript 数组中。脚本很简单:

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

在 Firefox 中它可以正常工作,但在 Chrome 中它显示“Access-Control-Allow-Origin 不允许 Origin null”。那是什么意思?我找到了各种关于与此错误相关的跨服务器内容的线程,但我只是在处理本地文件。

【问题讨论】:

我遇到了同样的问题。使用本地服务器很容易解决,例如:XAMPP、WAMP 等。无需特殊技巧。 【参考方案1】:

Chrome 不认为任何两个本地文件之间存在任何共同关系。

您可以使用“--allow-file-access-from-files”选项启动它,告诉它您不同意。

感谢升天大师尼克·克拉弗(Nick Craver)在我前段时间问基本相同的问题时提供的信息。

【讨论】:

嗯。我试试你说的,但仍然得到同样的错误。也许我启动 Chrome 错误? 确保您已关闭所有正在运行的 chrome 实例,否则它不会接受更改。所以只要确保进程列表中没有 chrome.exe @user1028100 我不知道是否无法从命令行在 MacOS 上启动 Chrome 或者该选项不起作用。 我可以使用命令“/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files”打开带有该标志的 chrome。我在 OSX 10.7.4 (lion) 上。见superuser.com/questions/157484/… 感谢 chrismarx,如果您在开发工作中深陷其中,应该指出这一点。这很简单,但如果你忘记了它,那真的会让你一头雾水。【参考方案2】:

出于某种不清楚的原因,这就像跨域(每个浏览器在此问题上的行为都有些不同,您甚至可以尝试 IE 并查看结果)。您应该尝试通过 Web 服务器运行它,并给它一个绝对路径,因为 javascript 在本地运行。

【讨论】:

【参考方案3】:

您可以尝试在您的 apache 网络服务器上运行它。它会起作用的。

【讨论】:

这应该是评论...【参考方案4】:

如果您使用的是 Mac OS X,请打开终端 cd 到您的 Web 根目录并运行:

python -m SimpleHTTPServer

然后在 Chrome(或任何其他网络浏览器)中打开以下 URL:

http://0.0.0.0:8000

【讨论】:

有效!。谢谢。对于 MAC OS X 是更好的解决方案。 也适用于 Linux。对于那些需要快速网络服务器的人来说,这是一个很好的解决方案。

以上是关于Chrome 中的“Access-Control-Allow-Origin 不允许使用 Origin null”。为啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

[Doc]MongoDB用户创建与启用access-control

Spring Security(三十):9.5 Access-Control (Authorization) in Spring Security

是否可以捕获 CORS 错误?

如何在ajax中解决跨域[重复]

IE XdomainRequest CORS 问题

选项预检未在 jQuery 中处理