金丝雀——disable-web-security 不再适用于 AngularJS 项目中的 ajax 请求

canary --disable-web-security doesn't work any more for ajax requests in AngularJS project

在 localhost

上开发时,使用参数 --disable-web-security 启动 canary 不再有助于发送跨域 AJAX 请求

我在控制台中看到一条消息

XMLHttpRequest cannot load http://[some-domain-name].com. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:3100' is therefore not allowed access.

如何在 AngularJS 项目中为 ajax 请求设置 header?

P. S. 我使用别名启动带有所需参数的金丝雀

alias canary="open -a \"Google Chrome Canary\" --args --disable-web-security"

尝试关闭浏览器并使用特殊参数重新打开它。

Canary 经常更新,当您接受更新时,它会在没有特殊参数的情况下重新启动。

编辑

工作解决方案:使用命令open -a Google\ Chrome\ Canary --args --disable-web-security --user-data-dir=$HOME/profile-folder-name

说明:--disable-web-security 现在需要使用 --user-data-dir 标志。

Windows 命令:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=%USERPROFILE%\profile-folder-name


这似乎只是 Canary 中的一个错误(在最新的稳定 Chrome 中按预期工作)。 Chrome 看到标志并显示警告但不允许跨域请求。几天前它确实有效。

我报告了这个问题:https://code.google.com/p/chromium/issues/detail?id=575690