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

Javascript 在AngularJS中使用templateURL从外部资源加载,javascript,javascript-framework,angularjs,directive,Javascript,Javascript Framework,Angularjs,Directive,我正在AngularJS中创建一个利用templateUrl键的自定义指令。我遇到的问题是,我们将这些模板文件托管在一个外部CDN上,因此我得到了一个访问控制允许源错误 XMLHttpRequest cannot load http://path_to_cdn/template_file.html. Origin http://xx.xx.xx.xx is not allowed by Access-Control-Allow-Origin. 我在某个地方读到我可以做这样的事情 <scr

我正在AngularJS中创建一个利用templateUrl键的自定义指令。我遇到的问题是,我们将这些模板文件托管在一个外部CDN上,因此我得到了一个访问控制允许源错误

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:加载发出templateURL请求的javascript的域

域2:您试图从中获取模板的域


您必须在域2的响应标题中设置访问控制允许原点选项。它的值应该是域1的url

是否有其他方法可以做到这一点(我必须向服务器人员提交一个请求,并等待他们处理该请求)——可能是使用.htaccess?我有FTP访问权限。问题是大多数浏览器不允许这样的请求。一些愚蠢的安全问题。这可能会有帮助:,尽管我个人认为与CDN团队交流是最好的选择。如果您无法让CDN发送正确的头,您可以在服务器中添加反向代理,自己注入头。Guillaume86,您能告诉我一个可以学习如何做的方向吗?