2014-09-06 7 views
0

Я застрял здесь, я не знаю, чего у меня пропал, или как отлаживать это дальше. Я продолжаю эту ошибку: «updateMemberServiceFactory undefined», когда я вызываю его из события ng-click. Пожалуйста, порекомендуйте. Если это простая опечатка, я извиняюсь, я просто не вижу, что случилось. Я пытаюсь вызвать метод PUT на моем контроллере, но он никогда не вызывается. Новое в AngularJS. Спасибо.AngularJS factory undefined error

securityApp.factory('updateMemberServiceFactory', function ($http) { 

    function update(memberServiceID) { 

     $http({ method: 'PUT', url: 'http://localhost:62791/api/MemberServices/', data: { memberServiceID: memberServiceID } }) 
      .then(function (result) { 
       alert('success'); 
      }, function (errorResponse) { 

     }); 
    }; 

}); 

securityApp.controller('memberServicesController', function ($scope, $http, $routeParams, $location, getTokenFromServer, updateMemberServiceFactory) { 

    var id = $routeParams.memberID; 

    $scope.username = '[email protected]'; 
    $scope.password = 'SuperPass1!'; 

    getTokenFromServer.getToken($scope.username, $scope.password).then(function (data) { 
     $scope.token = data; 

     $http({ method: 'GET', url: '/api/MemberServices/' + id + '?access_token=' + $scope.token, headers: { 'Authorization': 'Bearer ' + $scope.token } }) 
      .success(function (response) { 

       $scope.memberServices = ""; 
       $scope.memberServices = response; 

       $http({ method: 'GET', url: '/api/Members/' + id + '?access_token=' + $scope.token, headers: { 'Authorization': 'Bearer ' + $scope.token } }) 
        .success(function (response) { 
         $scope.member = response; 
        }); 

       $http.get('/api/ServiceTypes/') 
        .then(function (response) { 
         $scope.serviceTypes = response.data; 
        }); 
      }); 
    }); 

    $scope.updateMemberService = function() {   
     updateMemberServiceFactory.update({ memberServiceID: memberServiceID }, null, function() { 
      alert('update called'); 
     }); 
    }; 

}); 

<a href="" style="text-decoration: none;" ng-click="updateMemberService(memberService.memberServiceID)"><i class="fa fa-save"></i></a> 
+0

«Ошибка: updateMemberServiceFactory не определена [email protected]: // локальный: 62791/Scripts/приложение/Security.js: 357: 9 –

ответ

3

При использовании someApp.factory(someFunction) некоторым someFunction должен возвращать объект, который будет закачиваться в случае необходимости.

В вашем случае:

securityApp.factory('updateMemberServiceFactory', function ($http) { 

    function update(memberServiceID) { 

     $http({ method: 'PUT', url: 'http://localhost:62791/api/MemberServices/', data: { memberServiceID: memberServiceID } }) 
      .then(function (result) { 
       alert('success'); 
      }, function (errorResponse) { 

     }); 
    }; 

    return { // <---- this object will get injected, when required 
     update : update 
    } 

}); 
+0

Спасибо большое ! –

Смежные вопросы