Javascript AngularJS重定向到在IE8上失败
我有一个这样的路由器Javascript AngularJS重定向到在IE8上失败,javascript,internet-explorer,angularjs,internet-explorer-8,Javascript,Internet Explorer,Angularjs,Internet Explorer 8,我有一个这样的路由器 app.config(function($routeProvider, $httpProvider){ $routeProvider .when('/', { redirectTo: function(){ return '/mdp'; } }) .when('/mdp', { templateUrl: 'vi
app.config(function($routeProvider, $httpProvider){
$routeProvider
.when('/', {
redirectTo: function(){
return '/mdp';
}
})
.when('/mdp', {
templateUrl: 'views/mdp/dashboard.html'
})
.when('/mdg', {
templateUrl: 'views/mdg/dashboard.html'
})
.otherwise({
templateUrl: '/views/error/404.html'
});
});
它工作得很好,但是当我在IE8
上时,我有一个奇怪的bug
我在浏览器导航栏中设置了url:localhost:9000,这样就可以IE8
重定向到:
localhost:9000/#/mdp
但如果我在导航栏中更改url并设置:
localhost:9000/#/mdg
我在键盘的enter键上键入什么都没有发生,我必须按CTRL+F5
我真的不明白如果没有hashtag,浏览器会向服务器发出一个正常的HTTP GET请求,而该请求显然在
localhost:9000/mdp
hashtag故意从HTTP请求中排除,因为它用于从URI引用中的片段标识符中分隔URI。这对于使用hashtag的javascript路由以及用于维护页面状态的其他逻辑非常有用
因此,简单地更改hashtag不应导致浏览器对页面发出另一个请求
这篇文章中的一些相关信息可能对您有所帮助: