【发布时间】:2015-02-08 04:28:44
【问题描述】:
我正在尝试使用 Angular 的 ui-router 加载模板。
index.html
<html ng-app="someApp">
<body ng-controller='SomeCtrl'>
<div ui-view>
</div>
</body>
app.js
angular.module('someApp', [])
.config(function($stateProvider){
$stateProvider
.state('someApp', {
url:"/",
templateUrl: 'app/things/things.tmpl.html',
controller: 'SomeCtrl'
})
})
当我尝试在 localhost 中转到应用程序的根目录时(将 html 文件拖放到浏览器中),我收到了 CORS 错误:
XMLHttpRequest cannot load file://localhost/Users/me/theApp/src/app/things/things.tmpl.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
我的浏览器窗口中的 url 和错误中的 url 似乎是一回事。是因为 Angular 使用 HTTP 请求来获取 this answer 中指示的模板吗?它们似乎不是类似的问题,因为除了为模板提供服务的 localhost 之外,不应有其他域。
【问题讨论】:
-
Chrome 不允许您加载这样的文件,您需要在服务器(apache、node、python、IIS 等)中提供您的应用程序。
标签: javascript angularjs cors