Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 用户界面路由器可以';如果重新加载,则不会加载状态_Angularjs_Node.js_Angular Ui Router - Fatal编程技术网

Angularjs 用户界面路由器可以';如果重新加载,则不会加载状态

Angularjs 用户界面路由器可以';如果重新加载,则不会加载状态,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

A有一个带有ui路由器的应用程序,如果我重新加载页面(状态),我会遇到问题。 示例:应用程序根路径“/”和状态注册“/registration”如果我转到链接“/registration”,则加载注册页面,然后刷新页面并获得:

无法获取/注册

我知道这个问题并使用.htaccess

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的所有路由提供索引 模式像这样的节点应用程序

带着答案回答这个话题

然后我得到了和这个一样的错误

现在一切都很完美