Angularjs 用户界面路由器可以';如果重新加载,则不会加载状态
A有一个带有ui路由器的应用程序,如果我重新加载页面(状态),我会遇到问题。 示例:应用程序根路径“/”和状态注册“/registration”如果我转到链接“/registration”,则加载注册页面,然后刷新页面并获得: 无法获取/注册 我知道这个问题并使用.htaccessAngularjs 用户界面路由器可以';如果重新加载,则不会加载状态,angularjs,node.js,angular-ui-router,Angularjs,Node.js,Angular Ui Router,A有一个带有ui路由器的应用程序,如果我重新加载页面(状态),我会遇到问题。 示例:应用程序根路径“/”和状态注册“/registration”如果我转到链接“/registration”,则加载注册页面,然后刷新页面并获得: 无法获取/注册 我知道这个问题并使用.htaccess RewriteEngine On Options FollowSymLinks RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{RE
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]
但这并不能解决我的问题
我的app.js
var app = angular.module('myApp', [
'ui.router',
'ngCookies',
'myApp.main',
'myApp.navbar',
'myApp.registration',
'myApp.login',
'myApp.newOrder',
'ui.bootstrap',
'ui.bootstrap.datetimepicker',
]);
app.config([
'$stateProvider',
'$urlRouterProvider',
'$locationProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/');
$stateProvider
.state('main', {
url: '/',
templateUrl: 'templates/content/main.html',
controller: 'mainCtrl'
})
.state('registration', {
url: '/registration',
templateUrl: 'templates/content/registration.html',
controller: 'registrationCtrl'
})
.state('login', {
url: '/login',
templateUrl: 'templates/content/login.html',
controller: 'loginCtrl'
})
.state('new-order', {
url: '/new-order',
templateUrl: 'templates/content/newOrder.html',
controller: 'newOrderCtrl'
});
}]);
index.html使用:
<base href="/">
我得到“无法获取/注册”的原因是: 这是因为当您提交链接时,它会向该链接发出请求 当angular使用客户端路由时,在服务器上进行路由。到 启用html5模式,您需要为html5的所有路由提供索引 模式像这样的节点应用程序 带着答案回答这个话题 然后我得到了和这个一样的错误 现在一切都很完美