javascript - 从 angularjs 向 webAPI 发送 post 请求时参数为 null

标签 javascript c# json angularjs asp.net-web-api2

我试图调用一个方法,但参数为空

服务器端代码

[HttpPost]
        public IHttpActionResult PostRule(ActionRuleParameter actionRule)
        {
            // SOME CODE               
            return BadRequest();
        }

        public class ActionRuleParameter
        {
            public string action;
            public string rule;
        }

客户端代码

addRule: function ($scope) {
            //var data = { "action": "post", "rule": { "ID": "1", "Name": "Ramesh", "PassFail": "Pass" } }

            var data1 = { "action": "post","rule":"rule" };


            $http({
                url: urlContent + '/api/Rules',
                method: "POST",
                data: { "actionRule": data1 }
            }).success(function (response) {
                $scope.rules = response;
            });;
        },

actionrule 结果为 null。

最佳答案

您需要在参数前添加[FromBody]

    public IHttpActionResult PostRule([FromBody]ActionRuleParameter actionRule)
    {
        // SOME CODE               
        return BadRequest();
    }

关于javascript - 从 angularjs 向 webAPI 发送 post 请求时参数为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437256/

相关文章:

javascript - Canvas.toDataURL 不适用于移动 Safari iOS?

c# - 如何使用 Entity Framework 保存和加载 System.IO.Stream 对象?

json - 使用 Alamofire API Rest 发送空数组

javascript - 无法让 JSON 在下拉列表中正确呈现

javascript - Chrome 中的键盘事件,keyCode 为 0

javascript - 变换数组不考虑 null 返回

javascript - 4 列显示一周中的每一天的不同内容

c# - 为什么类数组消耗的内存比结构数组多 20%?

c# - 从wpf中的用户控件最小化窗口

ios - Firebase 扇出数据以更新特定字段删除其他兄弟字段