gpt4 book ai didi

angularjs - angularJS 中的 $http.post 仅在没有 Debug模式的情况下出错。在 Debug模式下它工作正常。为什么?

转载 作者:行者123 更新时间:2023-12-04 16:07:00 24 4
gpt4 key购买 nike

这是我的 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");

});
}

这是我的服务器方法代码
[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;
}

最佳答案

您可以使用 promise 来获得响应。这可以在服务内部并在您想使用它时调用它。

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;
};

还有 .error.success已弃用。

PD:参数 data:里面 $http对应 body 。如果你想发送参数,你应该使用 params:{}
编辑:
在这里,我给你一个链接, promise 是如何工作的。 Angular promises
基本上这有助于异步处理数据

上面的例子可以在这样的服务中使用
myApp.service('myService', function($q, $http){

// here your services....

});

该服务可以注入(inject)到任何 Controller 内部,以在您的函数内部提供您想要的数据
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.
});
};

});

希望能帮助到你。

关于angularjs - angularJS 中的 $http.post 仅在没有 Debug模式的情况下出错。在 Debug模式下它工作正常。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com