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/" /> 希望它能解决你的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容