加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – $locationProvider.html5Mode(true)问题

发布时间:2020-12-17 07:21:31 所属栏目:安全 来源:网络整理
导读:一直在处理我坚持的一些$locationProvider问题.我有一个简单的单页面页面.但是我收到以下错误: TypeError: Cannot read property 'replace' of undefined at trimEmptyHash (angular.js:10551) at Object.$locationWatch (angular.js:11399) at Scope.$get.
一直在处理我坚持的一些$locationProvider问题.我有一个简单的单页面页面.但是我收到以下错误:
TypeError: Cannot read property 'replace' of undefined
        at trimEmptyHash (angular.js:10551)
        at Object.$locationWatch (angular.js:11399)
        at Scope.$get.Scope.$digest (angular.js:14217)
        at Scope.$get.Scope.$apply (angular.js:14488)
        at bootstrapApply (angular.js:1449)
        at Object.invoke (angular.js:4182)
        at doBootstrap (angular.js:1447)
        at bootstrap (angular.js:1467)
        at angularInit (angular.js:1361)
        at HTMLDocument.<anonymous> (angular.js:26065)

我的app.js文件非常简单……

var app = angular.module('app',[
            'ui.router'
        ]
    );

    app.config([
        '$stateProvider','$httpProvider','$locationProvider','$urlRouterProvider',function ($stateProvider,$httpProvider,$locationProvider,$urlRouterProvider) {

            $locationProvider.hashPrefix('!');
            $locationProvider.html5Mode(true);

            $stateProvider
            .state('home',{
                url: '/',views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log("home");
                                return 'home';
                            }
                        }
                }
            })
            .state('about',{
                url: '/about',views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log('about')
                                return 'about';
                            }
                        }
                }
            })
            ;
        }
    ]);

我确实有< base href =“http:// localhost / apps / uiv8 /”/>在我的index.html文件中设置.因此,当我注释掉$locationProvider代码时,一切都在#模式下工作正常.我可以毫无问题地进入/#/ about等.一旦我把$locationProvider部件放回去,什么都没有.

关于我的环境的更多信息……我们在这里有asp.net的MVC,而route.config正在做一个{* url}来将所有内容重定向到默认路由,我甚至走得很远用url修改IIS重写发送到默认值,但我仍然得到上面的解析错误.

所以,任何人都有任何想法发生了什么?

谢谢,
缺口

在索引页面中添加基本标记,如:
<base href="/">

代替 :

<base href="http://localhost/apps/uiv8/" />

希望它能解决你的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读