我正在使用AngularJS
ui-Router
和node js
。响应将以JSON身份发布。通常,页面已正确呈现。如果我手动刷新同一页面,它将显示JSON数据而不是HTML。
请帮助我解决这个问题。
angular.module('app.routes',[])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',function($stateProvider, $urlRouterProvider, $locationProvider){
$locationProvider
.html5Mode({
enabled:true,
requireBase:false
})
.hashPrefix('');
}])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',function($stateProvider, $urlRouterProvider, $locationProvider){
$urlRouterProvider.otherwise('/login');
$stateProvider.state('/', {
templateUrl: '/views/login.html'
})
.state('admin', {
url: '/admin',
templateUrl: 'views/index.html',
controller: 'AdmCtrl',
})
.state('admin1', {
templateUrl: 'views/index1.html',
controller: 'AdmCtrl1',
})
答案 0 :(得分:0)
您已启用html5Mode
路由。
这是声明您的内部角度路线网址与服务器的网址相同。
实际上,您实际上已经将服务器配置为将数据作为JSON发送。
您需要更改服务器端代码,以便为这些网址而不是JSON提供HTML文档。
或者,关闭html5Mode
并返回hashbangs。