如何在params:下面的列表中获得以下参数。我收到以下错误,
TypeError: Cannot read property 'search' of undefined
at Object.async (abcd.html?kId=pqr)
URL:
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'] }});
}
};
});
答案 0 :(得分:1)
我认为你没有正确定义服务,这就是$location
未定义的原因。你必须使用符号:
batchModule.factory('myService', ['$interval', '$log', function($interval, $log) {
参见"依赖关系" https://docs.angularjs.org/guide/services中的部分。在你的情况下,将是:
app.factory('myService', ['$http', '$location', function($http, $location) {
// ...
}]);