【问题标题】:AngularJS Not Loading on Other PathsAngularJS 没有加载到其他路径
【发布时间】:2015-06-15 08:10:01
【问题描述】:

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

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

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

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

这是我的 Angular 应用程序的结构

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);
}]);

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

【问题讨论】:

  • 您可以使用html5Mode(false),或者您必须更新您的服务器,以便为每个请求提供索引页面。
  • 你的节点 api 也在 127.0.0.1:8080 上运行?并具有与您的角度应用程序相同的路由行为?如果您为了确定而禁用 html5 模式,它可能会有所帮助。 chrome 的 html5 模式也有问题。
  • 将 html5 设置为 false 会失去哪些优势?
  • 无论如何,这行不通。这只是通过点击链接或手动输入 url 使其到达未加载 angular 的位置。因此,在此之前,将通过单击链接而不是手动输入 url 来加载 angular。现在,在这两种情况下都不会加载 angular
  • 不同之处在于没有它 url 在它们中使用哈希,如 #/routeName 并且服务器在 url 中看不到虚拟目录

标签: javascript json angularjs node.js ngroute


【解决方案1】:

我试过评论,但我不能。您的问题已回答here。但基本上,当 modeHTML5 启用时,浏览器无法知道路径是否正确。另外我建议您阅读上一篇文章

PS:对不起我的英语

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多