【问题标题】:Chrome / IE, AngularJS, and Access-Control-Allow-OriginChrome / IE、AngularJS 和 Access-Control-Allow-Origin
【发布时间】:2013-04-11 15:52:59
【问题描述】:

我正在使用 AngularJS 构建一个应该可以通过 CD 分发的网络应用程序,但我遇到了分别与 Chrome 和 IE 相同的来源策略的砖墙:

XMLHttpRequest cannot load file:///xxx. Origin null is not allowed by Access-Control-Allow-Origin. 

有什么方法可以在代码中或通过其他方式绕过它?

【问题讨论】:

  • 这是一个 XSS 问题,SO 上已经有很多答案了。
  • 不在此上下文中。该应用程序将被分发,其他人将在其本地 fs 上使用它。该解决方案必须适用于所有人,因此没有人需要手动使用参数启动浏览器
  • 能否在包含打开浏览器参数的CD上添加快捷方式图标?
  • 您也可以放置一些可执行/脚本来检测用户的默认浏览器并使用相应的参数启动它。
  • 感谢您的建议!我会补充一点,我找到了一种解决方法,如果可行,我将发布更新 - goo.gl/Xh9fZ。

标签: internet-explorer google-chrome angularjs


【解决方案1】:

我采用的解决方案是通过 <script type="text/ng-template"> 指令在 index.html 文件中内联定义所有模板,如下所示:

<script type="text/ng-template" id="/template.html">
     <h1>I'm the content</h1>
</script>
<ng-include src="/template.html"></ng-include>

【讨论】:

【解决方案2】:

是的,您可以通过
delete $http.defaults.headers.common['X-Requested-With'];

请求之前

【讨论】:

    猜你喜欢
    • 2016-09-30
    • 2013-09-27
    • 2013-10-28
    • 2014-03-24
    • 2012-03-22
    • 1970-01-01
    • 2015-09-19
    • 2011-10-26
    相关资源
    最近更新 更多