我有一个按钮,当我点击它时,我的代码会在第一次点击时通过angular.forEach
发送所有选定项目的HTTP请求我没有得到任何错误或回复。从第二次单击按钮,当我的代码尝试发送$ http请求的第二部分时,我有一个错误。
error Error: undefined is not an object (evaluating 'apiFactory.likeRequest')
这是我的控制者:
app.controller('dashboardCtrl',
['$rootScope', '$scope', 'store', '$state','apiFactory','loginFactory','$http',
function($rootScope, $scope, store, $state, apiFactory, $http){
apiFactory.likeRequest(item["media_id"], data)
.then(function (response) {
console.log(response);
$scope.pressedIndexesObject.splice(index, 1);
}, function (error) {
console.log(JSON.stringify(error));
$scope.pressedIndexesObject.splice(index, 1);
});
});
这是我的要求工厂:
angular.module('instagrow')
.factory('apiFactory', ['$http', function ($http) {
var dataFactory = {};
dataFactory.likeRequest = function (media_id,data) {
return $http.post('https://api.instagram.com/v1/media/'+ media_id + '/likes', data, config);
};
return dataFactory;
}]);
我试图在没有工厂或关闭作为参数的情况下这样做,但例外仍然存在。
更新 尝试的另一种类型的请求是每个项目的$ http单个实例,如下所示:
angular.forEach($scope.pressedIndexesObject, function(item) {
var media = item
console.log('im indexed' +JSON.stringify( $scope.pressedIndexesObject));
$http.post('https://api.instagram.com/v1/media/'+ media["media_id"] + '/likes', data)
.then(function (response) {
console.log(response);
$scope.pressedIndexesObject.splice(index, 1);
}, function (error) {
console.log(JSON.stringify(error));
$scope.pressedIndexesObject.splice(index, 1);
});
});