AngularJS未在其他路径上加载

时间:2015-04-09 19:32:11

标签: javascript json angularjs node.js ngroute

我确信之前已经回答了这个问题,但我不知道该怎么说,所以我无法在Google上找到任何内容。

我正在使用Node.js,Express和Angular编写一个网站。我的Angular应用程序仅在访问主页127.0.0.1:8080时加载。当我点击链接进行审核时(比如127.0.0.1:8080/review/8ja9d8Kkjnmd),我成功路由到我的下一个控制器和我的角应用中的下一页。但是,如果我手动输入网址并按回车键,则node.js api只会为我提供我为Angular应用程序提供服务的JSON。

因此Angular应用程序获取此JSON并将其呈现给我的视图。如何通过手动输入URL来加载角度页面,而不仅仅是ping节点api?

我觉得这是一个常见的问题,我再次道歉,因为我确信它已经一次又一次得到回答。

这是我的角度应用

的结构
public/js
├── app.js
├── appRoutes.js
├── controllers
│   ├── MainCtrl.js
│   └── ReviewCtrl.js
├── views
│   ├── index.html
│   ├── home.html
│   └── review.html
└── services
    ├── MainService.js
    └── ReviewService.js

app.js是:

// public/js/app.js
angular.module('sampleApp', 
    ['ngRoute', 'appRoutes', 'MainCtrl','MainService','ReviewCtrl','ReviewService','underscore']);

appRoutes.js是:

// public/js/appRoutes.js
angular.module('appRoutes', []).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $routeProvider
    // home page
    .when('/', {
      templateUrl: 'views/home.html',
      controller: 'MainController'
    })
    .when('/review/:review_id', {
        templateUrl: 'views/review.html',
        controller: 'ReviewController'
    })
    .otherwise({redirectTo: '/'});
  $locationProvider.html5Mode(true);
}]);

如果我需要发布更多代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

我试过评论,但我做不到。您的问题已得到解答here。但基本上当启用modeHTML5时,浏览器无法知道路径是否正确。我还记得你读过上一篇文章

PS:抱歉我的英文