Javascript AngularJS未加载到其他路径
我相信这个问题以前已经得到了回答,但我不知道该如何表达,所以我在谷歌上找不到任何东西 我正在使用Node.js、Express和Angular编写一个网站。我的Angular应用程序仅在访问主页127.0.0.1:8080时加载。当我点击一个链接查看127.0.0.1:8080/review/8ja9d8Kkjnmd时,我成功地路由到我的angular应用程序中的下一个控制器和下一个页面。但是,如果我手动输入url并按enter键,node.js api只为我提供JSON,我为Angular应用程序提供JSON 因此Angular应用程序获取这个JSON并为我的视图呈现它。如何通过手动输入url而不仅仅ping节点api来加载角度页面 我觉得这将是一个常见的问题,我再次道歉,因为我相信它已经被回答了一次又一次 这是我的angular应用程序的结构Javascript AngularJS未加载到其他路径,javascript,json,angularjs,node.js,ngroute,Javascript,Json,Angularjs,Node.js,Ngroute,我相信这个问题以前已经得到了回答,但我不知道该如何表达,所以我在谷歌上找不到任何东西 我正在使用Node.js、Express和Angular编写一个网站。我的Angular应用程序仅在访问主页127.0.0.1:8080时加载。当我点击一个链接查看127.0.0.1:8080/review/8ja9d8Kkjnmd时,我成功地路由到我的angular应用程序中的下一个控制器和下一个页面。但是,如果我手动输入url并按enter键,node.js api只为我提供JSON,我为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);
}]);
如果还有其他代码需要发布,请告诉我。我尝试过发表评论,但无法发表。你的问题已经回答了。但基本上,当启用HTML5时,浏览器无法知道路径是否正确。另外,我建议你阅读上一篇文章
PS:对不起,我说的是英语你可以使用html5Modefalse,或者你必须更新你的服务器,为你提供每个请求的索引页。你的节点api也在127.0.0.1:8080上运行?与angular应用程序具有相同的路由行为?如果你只是为了确定而禁用html5模式,这可能会有所帮助。chrome在html5模式上也有问题。如果将html5设置为false,我会失去什么优势?无论如何,这是行不通的。这只是通过点击链接或手动键入url使angular无法加载。因此,在此之前,angular将通过单击链接加载,而不是手动输入url。现在,angular并没有加载到这两个场景中,不同之处在于它们中并没有它的url使用哈希,比如/routeName,服务器在url中并没有看到虚拟目录