在 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 请求给出错误“:”(冒号)的主要内容,如果未能解决你的问题,请参考以下文章
即使没有发出预检请求,也会在 POST 请求中出现 CORS 错误
CORS 适用于 chrome 但不适用于 firefox、angularjs
Tomcat 启用 CORS:来自 Safari 的 POST 请求返回 200,Chrome 和 Firefox 返回 403