angular.js Internet Explorer 11无法注入$ location

时间:2016-06-21 21:48:50

标签: angularjs

我正在尝试使用$location中的angular.js来提供queryparams。我的代码在Firefox中完美运行,但在Internet Explorer 11中不起作用。如果我删除了$location代码,那么它可以工作。

app.config(['$locationProvider', function($locationProvider) {
    $locationProvider.html5Mode( true );
}]);

app.controller('appName',
        ['$scope', '$location', '$http', function($scope, $location, $http) {
            alert(JSON.stringify($location));
}]);

错误很难理解:

  

错误:参数无效。       at xa(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9 /angular.min.js:147:373)       在高清(https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js:97:498)       ...

我有什么问题吗?除了queryparams之外,还有其他方法可以从IE 11中提取$location.search()吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

事实证明问题出在我的html文件中:

我之前有过:

<base href="appname">

我需要将其更改为:

<base href="/appname/">

Firefox原谅了失踪的&#39; /&#39;,但IE不是。

这解决了这个问题。