我是Angular的新手,我需要UI路由器的帮助。我需要在点击链接后加载mylink.html。这是我的代码:
var app = angular.module('hollywood', ['ui.router']);
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode({enabled: true, requireBase: false});
$stateProvider.state('mylink', {
templateUrl: 'mylink.html'
});
})
<a ui-sref="mylink">My Link</a>
<article ui-view></article>
我做错了什么?控制台中没有错误,单击后出现错误:
XMLHttpRequest cannot load .... Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
文件是本地文件,我认为在这种情况下我不能设置CORS。
答案 0 :(得分:0)
尝试使用此代码
var app = angular.module('hollywood', ['ui.router']);
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$stateProvider.state('mylink', {
url: '/my-link',
templateUrl: 'mylink.html' // give absolute url like src/views/mylink/html
});
})
您错过了在状态对象中添加网址
答案 1 :(得分:0)
@Damian你是通过某种服务器(python,节点等)服务你的角度应用程序,还是只是通过浏览器中的文件系统(直接通过打开浏览器选项)运行应用程序?
如果您直接运行它,则最有可能遇到此CORS
问题,因为浏览器不允许通过文件系统共享资源以解决安全问题。
答案 2 :(得分:0)
我的代码是正确的。我删除了'url'并在服务器上运行它。它起作用了。