gpt4 book ai didi

javascript - $http 成功未定义 Angularjs 自定义服务变量

转载 作者:行者123 更新时间:2023-12-03 07:21:58 25 4
gpt4 key购买 nike

我编写了一个 Angular 服务,该服务应该通过 http 加载客户详细信息并存储它们以供将来使用(以单例模式)。

但是,当http调用成功返回时,我想要注入(inject)数据的变量未定义并抛出错误。

代码如下:

NBApp.service("serverDataService", ['$http', '$q', function ($http, $q) {
var currentMemberDetails = [];

this.currentMember = function (){
if (this.currentMemberDetails.length>0)
return this.currentMemberDetails[0];
return null;
};

this.getMemberDetails = function (cardId) {
//TBD - call members details web service
var deferred = $q.defer();
$http({
method: 'GET',
url: 'resources/customer.json'
}).then
(
function success(response) {
this.currentMemberDetails.push(response.data);
deferred.resolve(data);
},
function failure(response) {
deferred.reject(response);
}
);
return deferred.promise;
};
}]);

currentMemberDetails 未定义,如 Chrome 开发控制台所示。

最佳答案

而不是

this.currentMemberDetails.push(response.data);

使用

currentMemberDetails.push(response.data);

关于javascript - $http 成功未定义 Angularjs 自定义服务变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180544/

25 4 0
文章推荐: javascript - MutationObserver 仅在第一次更改时触发
文章推荐: amazon-web-services - 云信息 : How to add an existing IAM managed policy to an Existing IAM ROLE
文章推荐: amazon-web-services - 将 Bitbucket 管道变量传递到 Cloudformation
文章推荐: javascript - jQuery:聚焦