加载模板时出现AngularJS、Localhost和CORS错误
AngularJS, Localhost, and CORS errors when loading a template
我正在尝试使用Angular的ui路由器加载模板。
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请求来获取这个答案中所示的模板吗?它们似乎不是类似的问题,因为除了localhost之外,不应该有其他域为模板提供服务。
是的,100%至少需要一台本地服务器运行。MAMP可能是最简单的。http://www.mamp.info/en/
进行Mac安装,然后将应用程序根目录放在/Applications/Mamp/htdocs文件夹中。当Mamp打开并运行时,默认情况下为localhost:8888/app name/。
@Tom说得很对——你不能用这种方式在Chrome中加载文件。我不得不启动一个http服务器。
我按照以下说明安装http服务器,并使用启动服务器
http-server -a localhost -p 8000
这使应用程序和我的模板能够正确加载。
相关文章:
- PHP中的setcookie仅适用于localhost
- 在localhost Dev Box上测试JSONP请求的最佳方式
- CORS-重定向到第二个GET正在接收的页面
- node.js请求数据事件未在CORS ajax调用中触发
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 带有凭据的角度文件上载(CORS)不起作用
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- SmartGWT数据源和CORS
- CORS-服务器端cookie没有保存在chrome浏览器上
- CORS:否'访问控制允许来源'header-但是php设置头文件
- CORS:访问控制允许原点不等于提供的原点
- CORS保持在SecurityError上:操作不安全
- 绘制(重新加载)具有cors=“”的图像;匿名的“;在画布上(javascript)
- 向localhost发出带有grunt的代理CORS请求
- 加载模板时出现AngularJS、Localhost和CORS错误
- 为什么我的 http://localhost CORS 源不起作用
- ajax localhost cors error
- 从localhost使用谷歌联系人api创建联系人时出现CORS错误
- CORS https访问localhost在Chrome上有效,但在Firefox上无效
- CORS,当客户端和;服务器是localhost