类型错误:无法读取 $location.search() 的未定义的属性'search'



如何在参数中获取以下参数:下面列出。我收到以下错误,

TypeError: Cannot read property 'search' of undefined
    at Object.async (abcd.html?kId=pqr)

网址:

http://localhost:8080/.........../abcd.html?kId=pqr

法典:

var app = angular.module('angModule', [], function($locationProvider) {
    $locationProvider.html5Mode(true);
});
app.factory(
    'myService',
    function($http,$location) {
        return {
            async : function() {
                return $http
                    .get('http://localhost:8080/...........,,,,./...',{params:{"kId": $location.search()['kId'] }});
                }
            };
        });

我认为您没有正确定义服务,这就是未定义$location的原因。你必须使用符号:

batchModule.factory('myService', ['$interval', '$log', function($interval, $log) {

请参阅 https://docs.angularjs.org/guide/services 中的"依赖项"部分。在您的情况下,这将是:

app.factory('myService', ['$http', '$location', function($http, $location) {
    // ...
}]);

最新更新