AngularJs 发布到 WebApi 始终为空

标签 angularjs asp.net-mvc asp.net-web-api2

Angular 代码:

 getAuthorizationStatus: function () {
                    var deferred = $q.defer();
                     $http({
                        method: "POST",
                        url: url,
                        data: {
                            username: $scope.username,
                            password: $scope.password
                        },
                        contentType: 'application/json',
                        headers: {
                        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
                    }
                    }).success(deferred.resolve)
                      .error(deferred.reject);
                    return deferred.promise;
                },

我的服务器端代码:

  [HttpPost]
        public int ValidateUser([FromBody]Credentials credentials)
        {
            try
            {
                string username = credentials.username;
                string password = credentials.password;
          //Do stuff
        }
        catch (Exception ex)
        {
            throw ex;
            return -1;
        }

        return -1; // not valid user
    }

我遇到的问题是我能够调用 Api 方法,但里面的数据始终为空。我尝试过几种这样的组合:

  data:  JSON.stringify({
                            "username" : "username",
                            "password":"mypassword"
                        }),

没有骰子。

我做错了什么?

最佳答案

将您的数据包含在 $.param() 中

示例:

数据:$.param({ 用户名:$scope.username,密码:$scope.password })

关于AngularJs 发布到 WebApi 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698007/

相关文章:

css - 如何在滚动条外打开弹出窗口?

c# - 如何在 asp.net mvc 中使用 DataAnnotations 验证字符串长度?

asp.net-mvc - 使用扩展方法验证域模型

c# - Web API 中的 PUT 将始终将 "0"放入服务器

javascript - ngAnimate 最大高度不适用于某些元素

javascript - AngularJS ex.com/forum?id=1 到 ex.com/#/forum?id=1

angularjs - 更改 $includeContentRequested 上的源网址

.net - System.Web.Razor 与 System.Web.WebPages.Razor

c# - Catch-all 路由无法使用 WebApi2 ApiController 找到路由

asp.net-web-api2 - 如何在 Swagger (MVC 6 Web API JsonResult) 中显示类属性的 XML 注释