【发布时间】:2018-09-11 13:54:57
【问题描述】:
我不断收到以下错误:
Cannot read property 'get' of undefined
at Object.getChannelIdFromYoutubeUsername
at Object.vm.creatorAccountCreationFormSubmit
即使我将 $http 注入到我的服务中,并且每当我将传递给 $http.get 命令的 url 粘贴到我的浏览器窗口中时,我都会得到一个输出。
这是我的服务:
angular.module('adsomaApp').service('YoutubeService', function($log) {
var url = 'https://www.googleapis.com/youtube/v3';
function getChannelIdFromYoutubeUsername(youtubeApi, youtubeUsername, $http) {
var queryUrl = url + "/channels/?key=" + youtubeApi + "&forUsername=" + youtubeUsername + "&part=id";
return ($http.get(queryUrl).then(handleSuccess, handleError));
}
function handleSuccess(response) {
return response.data;
}
function handleError(response) {
if (!angular.isObject(response.data) || !response.data.message) {
return ($q.reject('An unknown error occurred.'));
}
return ($q.reject(response.data.message));
}
var youtubeService = {
getChannelIdFromYoutubeUsername: getChannelIdFromYoutubeUsername
};
return youtubeService;
});
这是我的控制器:
vm.channelId = {};
vm.creatorAccountCreationFormSubmit = function() {
YoutubeService.getChannelIdFromYoutubeUsername(ConstantsService.youtubeSettings().youtubeApiKey, vm.connectYoutubeFormData.youtubeUsername).then(function(succ) {
vm.channelId = succ;
$log.info(vm.channelId);
}, function error(err) {
$log.error('Error: ', err);
});
};
【问题讨论】:
-
在您的服务中注入
$httpfunction($log, $http)
标签: angularjs