金丝雀——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
在 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