如何创建一个角度http工厂

时间:2014-11-11 20:04:13

标签: angularjs

我的http功能工作正常,它目前在我的控制器中。我想把它做成一个工厂,所以我可以把它注入一些我需要的地方。我知道我可以在其他地方重用相同的代码,但我宁愿保持一切井井有条。现在我没有传递对象" newCivil"从控制器到工厂。 当前在控制器中工作的代码

//Post Civil Case
$scope.addCivilCase = function () {
    var newCivil = $scope.newCivil
    $http.post('/api/apiCivilCase/', newCivil).success(successCallback)
         .error(errorCallback);
             console.log(newCivil);
};

我正努力工作的代码

(function () {
angular.module('lawfirm').factory('CivilPost', function ($http) {
    return {

        post: function (newCivil) {
            return $http.post('/api/apiCivilCase/' +  newCivil);
        }
    };
  });
})();

$scope.addCivilCase = function (newCivil) {
    CivilPost.post(newCivil).success(successCallback)
         .error(errorCallback);
    console.log(newCivil);
};

1 个答案:

答案 0 :(得分:1)

在您尝试使用的代码的$http.post()中,您将newCivil附加到网址,但您应该将其作为第二个参数传递给你可以使用有效的代码。