角度路线不起作用(没有错误)

时间:2017-03-16 08:31:30

标签: angularjs angular-routing

我是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。

https://jsfiddle.net/2q61mcp9/

3 个答案:

答案 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'并在服务器上运行它。它起作用了。