无法加载服务器响应的资源状态400 - AngularJS和WebAPI

时间:2016-12-17 01:01:22

标签: javascript angularjs asp.net-web-api

我在向数据库添加用户时遇到问题。添加用户成功运行,但它显示标题中的错误:无法加载服务器响应状态为400(错误请求)的资源。 我使用的是AngularJS和WebApi。 我的ApiService使用POST方法:



var ApiService = function ($http) {
    var result;
  
  this.PostApiCall = function (controllerName, methodName, obj, callback) {
        var result = $http.post('api/' + controllerName + '/' + methodName, obj).success(
            function (data, status) {
                var event = {
                    result: data,
                    hasErrors: false
                };
                callback(event);
            }).error(function () {
                var event = {
                    result: "",
                    hasErrors: true,
                    error: status
                };
                callback(event);
            })
        return result;
    };
}




和控制器中的CreateUser方法:



$scope.CreateUser = function () {
        var request = {
            Login: $scope.login,
            Password: $scope.password,
            Name: $scope.name,
            Surname: $scope.surname,
            Email: $scope.email,
            PhoneNumber: $scope.phoneNumber,
            DateOfBirth: $scope.dateofBirth,
            AccountTypeId: 1
        }

        Api.PostApiCall("Users", "PostUser", request, function (event) {
            if (event.hasErrors == true) {
                alert("Error!" + event.error);
            }
            else {
                alert("Hello" + $scope.name);
            }
        });
    }




API控制器方法:

public IHttpActionResult PostUser(用户用户)         {             if(!ModelState.IsValid)             {                 返回BadRequest(ModelState);             }

        db.Users.Add(user);
        db.SaveChanges();

        return CreatedAtRoute("DefaultApi", new { id = user.Id }, user);
    }

0 个答案:

没有答案