0

저는 angularJS를 처음 사용하고 제 개념을 명확히하기 위해 CRUD 작업을 시도합니다. 나는 각도 공장을 사용하려고 노력하지만 구글을 많이하고 아래의 개념에 대한 해결책을 찾을 수 없다. 나는 단지 나를 위해 일하지 않는 컨트롤러에서 내 공장을 사용하고 싶다.

공장 :

(function() { 
'use strict'; 

angular 
.module('app', []) 
.factory("crudFactory", function (path, myObj) { 
    return { 
     AddObject: function (path) 
     { 
      $http({ 
       method: "POST", 
       url: path, 
       params: { myObj : myObj } 
      }).then(function mySuccess(response) { 
       return response.data; 
      }, function myError(response) { 
       return "Error Found :" + response.statusText; 
      }); 
     }, 
     first: function() { 
      return "";// 
     } 
    }; 
}); 
})(); 

나는 컨트롤러 있지만 작동하지 않는이 공장을 사용하고 싶습니다.

컨트롤러 :

(function() { 
'use strict'; 
debugger; 
    angular 
.module('app') 
.controller('BusinessProfileCtrl', BusinessProfileCtrl); 

function BusinessProfileCtrl($scope, crudFactory) { 
    debugger; 
    var vm = this; //vm = view model 
    function Save() { 
     debugger; 
     var businessObj = { 
      Id:vm.Id, 
      Name: vm.Name, 
     }; 
     var abc = crudFactory.AddObject("http://localhost:63358/BusinessUnit/Post", businessObj); 
    } 
    vm.Save = Save; 
} 
})(); 

희망은 어떤 도움을 얻을 것이다. 미리 감사드립니다.

+2

같은 약속을 잡을 수있어. 뭐하시는 거예요, 어떻게 될 것으로 예상 되나요? AddObject가 아무것도 리턴하지 않기 때문에'abc' 변수에 무엇을 포함 할 것으로 기대합니까? –

+0

$ http POST 메소드는'params'가 아닌'data' 속성을 데이터에 사용해야합니다. – georgeawg

답변

1

공장에서 http 약속을 반환하고 컨트롤러에서 약속을 잡습니다.

이와 같이 공장을 수정하십시오; 컨트롤러의

.factory("crudFactory", function() { 
    return { 
     AddObject: function(path,myObj) { 
      return $http({ 
       method: "POST", 
       url: path, 
       params: { 
        myObj: myObj 
       } 
      }) 
     }, 
     first: function() { 
      return ""; // 
     } 
    }; 
}); 

는 "작동하지 않는"정의이

var abc; 
crudFactory.AddObject("http://localhost:63358/BusinessUnit/Post", businessObj).then(function mySuccess(response) { 
    abc = response.data; 
}, function myError(response) { 
    abc = "Error Found :" + response.statusText; 
}); 
+0

bro "function BusinessProfileCtrl ($ scope, crudFactory) {}"이 구문은 괜찮습니까? –

+0

그래, 그것의 오른쪽은'공장 ("crudFactory", 기능 (경로, myObj) {'이것은 잘못이다. 매개 변수가 제거되어야합니다. 그냥 대답을 업데이 트 –

+0

덕분에 많은, 그 작업 :) –