gpt4 book ai didi

javascript - AngularJS - 如何将范围变量传递给服务?

转载 作者:行者123 更新时间:2023-11-30 12:16:06 25 4
gpt4 key购买 nike

这是我的 Controller ,其中有一个我想在我的服务中使用的变量,以便从服务器访问一些 JSON 数据。

Controller 部分,我:

1) 从服务器获取 API key (工作并将 key 记录到控制台):

AuthenticationService.getData()
.then(function(result) {
$scope.apiKey = result;
console.log($scope.apiKey);
});

2) 想把 key 传递给服务,以便访问数据:

 DrawService.getData($scope.apiKey)
.then(function(result) {
$scope.numbers = result.data;
console.log($scope.numbers);
});

服务:

app.factory('AuthenticationService', function($http) {
return {
getData: function() {
return $http.get('http://game.mywebsite.com/start/?token=someNumber&sessionId=someNumber')
.then(function(result) {
return result.data;
}
);
}
}


app.factory('DrawService', function($http) {
return {
getData: function(apiKey) {
var key = apiKey;
console.log(key);
return $http.get('http://game.mywebsite.com/draw/?token='+apiKey)
.then(function(result) {
return result.data;
});
}
}

someNumber 是提供给我的号码,没错。myWebsite.com 是我想从中获取 JSON 数据的网站示例。

那么,如何将 $scope.apiKey 传递给服务而不返回 undefined?

最佳答案

当您从AuthenticationService.getData() 获得响应时,您需要调用DrawService.getData 方法,这只是意味着您应该在有请求时调用DrawService 方法apiKey

AuthenticationService.getData()
.then(function(result) {
$scope.apiKey = result;
console.log($scope.apiKey);
DrawService.getData($scope.apiKey)
.then(function(result) {
$scope.numbers = result.data;
console.log($scope.numbers);
});
});

关于javascript - AngularJS - 如何将范围变量传递给服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com