页面刷新重定向到主页

时间:2017-12-01 09:24:17

标签: angularjs

我在angularjs中创建了一个表单。我有四个页面,如信息,教育,经验和隐私。如果页面被刷新,则在教育中填写详细信息时,它会重定向到表单起始页面的信息。如果页面刷新,我想留在当前页面。给我任何建议。我的路由代码如下所示

(function() {
"use strict";

xyz.config(['$stateProvider',
    function ($stateProvider) {
        'use strict';
        $stateProvider
            .state('xyz.basicInfo', {
                url: '/Information',
                views: {
                    'Form': {
                        title: "Information", 
                        templateUrl: '../views/information.html',
                        controller: 'InformationController'
                    }
                },

                resolve: {
                    loadFile: ['$ocLazyLoad', function($ocLazyLoad) {
                        return $ocLazyLoad.load(['intlTelInput']);
                    }]
                }
            })
            .state('xyz.education', {
                url: '/education',
                views: {
                    'Form': {
                        title: "Education",
                        templateUrl: '../views/education.html',
                        controller: 'educationController'
                    }
                }

            })


    }])

})调用(这);

1 个答案:

答案 0 :(得分:0)

此类问题通常是Web服务器问题。 Angular应用程序是单页应用程序(SPA),因此任何对HTML文件的请求,无论路径如何,都应该提供index.html(index.html是单页)

例如,如果您的路由是/ my / route并刷新Web服务器,则默认情况下会尝试在名为/ my / route

的文件夹中提供index.html

因此,您需要覆盖此默认行为,以便您的网络服务器始终服务于根index.html,然后您的路由将按预期工作。

如何做到这一点取决于您的Web服务器 - 如果它是节点服务器,apache,nginx,webpack-dev-server等

这是一个关于如何在Apache上进行此操作的线程... https://askubuntu.com/questions/484986/how-do-i-make-apache-serve-a-single-static-page-no-matter-what-the-entered-url-i