在 Firefox 上,CORS 请求给出错误“:”(冒号)

Posted

技术标签:

【中文标题】在 Firefox 上,CORS 请求给出错误“:”(冒号)【英文标题】:On Firefox, CORS request gives error ":" (colon) 【发布时间】:2014-10-04 10:12:19 【问题描述】:

在 Chrome 上,我可以毫无问题地提出跨域请求,但是在 Firefox (Ubuntu 14.04) 上,我收到一个错误,该错误仅包含调用 xmlhttprequest 的行上的冒号。

xmlhttp.open("GET", "http://x.x.x.x:xxxx/folder/file.xml", false);

错误信息只是“:”。

【问题讨论】:

什么,确切地是错误信息? ":"。我不知道为什么它给了我这个。 你能告诉我们你用来检测错误的代码吗? 这是 Firefox 控制台。 在类似的情况下,我遇到了与 Firefox 相同的问题;使用 Firebug 和内置工具进行调试。我将我的网址从 domain/professional/etc 更改为 domain/admin/etc 并弹出错误。错误只是一个冒号,代码行是打开请求的行。这在 Chrome 中不会发生。我目前使用的是 Firefox 32 Beta。 【参考方案1】:

使用 Firebug,问题竟然是

Blocked loading mixed active content

【讨论】:

【参考方案2】:

尝试禁用 AdBlock

我遇到了一个类似的问题,我的所有 XMLHttpRequests 都在通过,除了一些非常具体的问题,即使是微小的 URL 更改也解决了问题。我唯一得到的是一个冒号 : 在控制台中。最后,我意识到 AdBlockPlus 至少阻止了其中一个请求通过(该请求的 URL 中有“横幅”)。

所以我不确定这是否能解决您的问题,但我遇到过多次。

【讨论】:

可以确认这是我遇到的确切问题。过去一个小时左右一直在挠头,试图解决 WTF 的问题。禁用 Adblock Edge,一切正常! 我正在使用 Privacy Badger,它在尝试访问身份服务器时导致了这个确切的问题,并且禁用它修复了这个问题。但是,它只出现在尝试访问 HTTPS 站点时。 我只花了一个小时弄清楚为什么我的东西突然不再工作了。我已经从 10.0.0.x 本地网络切换到 192.168.1.x,这就是 AdBlockPlus 开始阻止事物的时候。可能是因为某些网站包含恶意软件,试图访问您的路由器 192.168.1.1。【参考方案3】:

我在 CORS POST 请求中遇到了同样的错误。 我正在使用https://cors-anywhere.herokuapp.com/ 绕过同源策略。 问题是 NoScript 阻止了外部域,所以如果您在请求中使用外部 API,这可能会解决它。

【讨论】:

仅链接的答案在 SO 上不好。请在您的回答中插入基本信息。 我澄清了我的答案,但这就是我所拥有的所有基本信息。【参考方案4】:

与this answer 相同,但对我而言,AdBlock 和 uBlock 都不存在问题。

它与 uMatrix 一起出现。

你可以发现它阻塞了这个 URL 的请求:

chrome://umatrix/content/logger-ui.html

您可以在单击该字段时手动启用它:

并在 uMatrix 弹出窗口中选择启用XHR

即使您将代码打包在正确安装的插件中​​(蓝色条包含 Firefox 插件的 Internal UUID),阻塞仍然存在,因此如果您想知道为什么某些插件不在启用 uMatrix(或喜欢)时不起作用,这可能是原因之一。

【讨论】:

以上是关于在 Firefox 上,CORS 请求给出错误“:”(冒号)的主要内容,如果未能解决你的问题,请参考以下文章

FireFox的Angularjs CORS失败

即使没有发出预检请求,也会在 POST 请求中出现 CORS 错误

Firefox扩展请求被解释为CORS

CORS 适用于 chrome 但不适用于 firefox、angularjs

Tomcat 启用 CORS:来自 Safari 的 POST 请求返回 200,Chrome 和 Firefox 返回 403

对 Url 的发布请求给出了被 cors 策略阻止的错误 [重复]