使用templateURL从AngularJS中的外部资源加载

时间:2012-10-02 17:02:42

标签: javascript javascript-framework angularjs directive

我在AngularJS中创建了一个利用templateUrl键的自定义指令。我遇到的问题是我们在外部CDN上托管这些模板文件,因此我收到了Access-Control-Allow-Origin错误。

XMLHttpRequest cannot load http://path_to_cdn/template_file.html. Origin http://xx.xx.xx.xx is not allowed by Access-Control-Allow-Origin.

我读到某处我可以做这样的事情......

<script type="text/ng-template" src="http://path_to_cdn/template_file.html"></script>

......但这并不是很理想,无论如何我都无法正常工作。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:3)

问题在于服务器端。这是解决问题的一种方法

假设您有权访问这两个服务器,请执行以下操作:

首先是术语

域1:加载发出templateURL请求的javascript的域

域名2:您尝试从

获取模板的域名

您必须在域2的 响应 标头中设置Access-Control-Allow-Origin选项。它的值应该是域1的URL。