Nee*_*ati 6 http-post angularjs
这是我的javascript代码
$scope.addUser = function () {
debugger;
url = baseURL + "AddUser";
$scope.objUser = [];
$scope.objUser.push( {
"ID": '0',
"UserName": $scope.txtUserName,
"Password": $scope.txtPassword,
"Role":"Non-Admin"
});
$http.post(url,$scope.objUser[0])
.success(function (data) {
debugger;
alert("S");
window.location = "../View/Login.html";
}).error(function () {
debugger;
alert("e");
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的服务器方法代码
[HttpPost]
public int AddUser(UserModel user)
{
//_entity.Configuration.ProxyCreationEnabled = false;
tblUser objUser = new tblUser();
objUser.UserName = user.UserName;
objUser.Password = user.Password;
objUser.Role = user.Role;
_entity.tblUsers.Add(objUser);
_entity.SaveChanges();
return objUser.ID;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用承诺来获取响应。这可以放在服务中并在您想要使用它时调用它。
this.addUser = function (obj) {
var datosRecu = null;
var deferred = $q.defer();
var uri = baseUrl + 'addUser';
$http({
url: uri,
method: 'post',
data: angular.toJson(obj)
}).then(function successCallback(response) {
datosRecu = response;
deferred.resolve(datosRecu);
}, function errorCallback(response) {
datosRecu = response;
deferred.resolve(datosRecu);
});
return deferred.promise;
};
Run Code Online (Sandbox Code Playgroud)
也.error已.success弃用。
PD:对应bodydata:里面的参数。$http如果你想发送参数,你应该使用params:{}
编辑: 在这里我给你留下了一个承诺如何工作的链接。Angular 承诺 基本上这有助于异步处理数据
上面的示例可以在这样的服务中使用
myApp.service('myService', function($q, $http){
// here your services....
});
Run Code Online (Sandbox Code Playgroud)
该服务可以注入到任何控制器内部,以在您的函数内部提供您想要的数据
myApp.controller('myController', function($scope, myService){
$scope.list = function(){
$promise = myService.getAll(); // this will be the name of your function inside your servive
$promise.then(function(data){
console.log(data); //here you can se your promise with data like status and messages from the server.
});
};
});
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |