如何在angularjs中编写不同的post方法?

时间:2016-07-12 06:04:10

标签: angularjs

我使用AngularJS v1.4.2。我有2个html页面,他们有2个controller.both控制器有保存事件。如何使用http post方法

第一个控制器我正在调用下面给出的post方法

var promisePost = crudService.post(Countries);                          
promisePost.then(function (pl) {
    alert("Sucessfully Inserted")
    getCountry();
    $stateParams.country = "";
}, function (err) {
    alert("NOt Inserted")              
});

第二个控制器我正在调用下面给出的post方法

 var promisePost = crudService.post(Levels);
 promisePost.then(function (pl) {
     alert("Sucessfully Inserted")
     getLevel();
 }, function (err) {
     alert("NOt Inserted")
 });

我的app.js

myapp.service('crudService', function ($http, RESOURCES) {

//Create new record

this.post = function (Country) {
    var request = $http({
        method: "post",
        url: RESOURCES.baseUrl + "saveCountry",
        data: Country
    });
    return request;
}
this.post = function (Level) {
    var request = $http({
        method: "post",
        url: RESOURCES.baseUrl + "saveLevel",
        data: Level
    });
    return request;
}

});

但是此代码只采用最后一个post方法。如何正确选择post方法。任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

用户countryPostlevelPost如下所示,并相应地调用它们。

myapp.service('crudService', function ($http, RESOURCES) {

//Create new record

this.countryPost= function (Country) {
    var request = $http({
        method: "post",
        url: RESOURCES.baseUrl + "saveCountry",
        data: Country
    });
    return request;
}
this.levelPost= function (Level) {
    var request = $http({
        method: "post",
        url: RESOURCES.baseUrl + "saveLevel",
        data: Level
    });
    return request;
}
});

答案 1 :(得分:0)

使用服务的最佳做法是从中返回一个对象

myapp.factory('crudService', function ($http, RESOURCES) {

 return {
   saveCountry : function(){
       return $http({
       method: "post",
       url: RESOURCES.baseUrl + "saveCountry",
       data: Country
      });
    },
  saveLevel : function(){
     return $http({
     method: "post",
     url: RESOURCES.baseUrl + "saveLevel",
     data: Level
    });
  }
 }
});

然后将其注入您的控制器依赖项并使用它:

 crudService.saveLevel().then(function(){
   //do some code here
 })

答案 2 :(得分:0)

创建一个post方法,并接收url作为参数和数据一起调用它。如下图所示:

<div id="a" class="inner"></div>
<div id="b" class="inner"></div>

}