我使用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方法。任何人都可以帮忙吗?
答案 0 :(得分:1)
用户countryPost
和levelPost
如下所示,并相应地调用它们。
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>
}