AngularJS 错误:无法读取未定义的属性“get”
AngularJS error: Cannot read property 'get' of undefined
我是AngularJS的新手,正在尝试通过$http.get请求检索变量。我已经设置了类似于我看到的几个示例的代码,并且无法弄清楚为什么我会收到"无法读取未定义的属性'get'"错误消息。我在这个网站上发现了类似的问题,但它们都指出了各种格式问题。我找不到,所以我希望有人能够指出我做错了什么。以下是我正在使用$http的服务。
(function () {
angular
.module('golfleague.player')
.factory('PlayerService', ['$http', function($http){
var onError = function(data) {
data.errors = data;
};
function getLastName($http) {
return $http.get('/player/lastname').then(onFetchLastNameComplete, onError);
function onFetchLastNameComplete(response) {
return response;
}
}
return {
getLastName: getLastName
};
}]);
})();
你有$http
依赖项作为PlayerService
的getLastName
函数参数中的参数,并且你想使用注入的服务依赖$http
。因此,在调用getLastName
函数时,其参数值$http
它优先于当前局部函数变量并杀死PlayerService
$http
服务的存在。由于现在$http
方法未定义,您将不会在其中定义get
方法,这就是您收到错误的原因。
通过从getLastName
函数参数中删除$http
将解决您的问题。
function getLastName() { //<--removed $http from here
return $http.get('/player/lastname').then(onFetchLastNameComplete, onError);
function onFetchLastNameComplete(response) {
return response;
}
}
相关文章:
- 在不使用lodash-get的情况下从json中提取深层属性
- JS get元素之间的差异's属性与elem.getAttribute(attr)和elem[attr]
- Angularjs类型错误:无法读取属性'GET()'的未定义
- 如何使用get()获取嵌套的Scope属性
- 尝试更改HTML属性时出现奇怪的get请求
- 角度类型错误:无法读取未定义的属性“get”
- 类型错误:无法读取 AngularJS 上未定义的属性“get”
- 如何将 GET 参数分配给 HTML 输入文本的值属性
- jQuery get 属性在点击时
- JS getters:定义属性替换或补充旧的内联“get”“set”语法
- AngularJS 错误:无法读取未定义的属性“get”
- Angularjs.在 http.get 之后显示对象属性
- jQuery get 每个元素的属性
- 如何使用 get/set 获取属性以使用 JSON.stringify() 序列化
- 具有对象类型的参数,其属性名称/值各不相同.需要在GET请求中通过URL发送道具名称/值
- 在构造函数函数中创建只读(get)属性
- 具有多个属性的jQuery$.get()
- 如何“;覆盖“;原型上已定义的(get-)属性
- Javascript属性get和set类似于c#.net
- Express 500 类型错误:无法读取未定义的属性“get”