【问题标题】:How to send json data to webapi through angular $http.get如何通过角度 $http.get 将 json 数据发送到 web api
【发布时间】:2015-09-07 10:14:03
【问题描述】:

WebAPI 代码

 [HttpPost]
        public IHttpActionResult PostData(ARParameter allParams)
        {
               //My Code
        }

  public class ARParameter 
        {
            public string action;
            public SomeRules rule;
        }

 public class SomeRules 
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string PassFail { get; set; }
    }

我要调用PostData方法

我的javascript代码是

 addData=function ($scope) {
            var data=
            +'{'
            +'    "action":"post",'
            +'    "rule":"{}"'
            +'}';


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

如何构造json?

【问题讨论】:

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


    【解决方案1】:

    您的 API 方法 PostData 是 POST 类型,因此调用应该是 POST。下面是构造json的方法。

    var data={"action":"post","rule":{"ID":"123","Name":"namehere","PassFail":"passfailhere"}}
    

    【讨论】:

    • rule 只是一个对象,它不是List。所以你在 json 中不需要[]
    • 感谢 Ramesh 的快速选择。
    • 但不仅是这个问题,他还有很多问题。希望我的回答对他有所帮助。使用您的密钥...
    【解决方案2】:

    服务器端变化

    • 在您的操作中设置ActionName 属性。

      [ActionName("PostData")]
      [HttpPost]
      public IHttpActionResult PostData(ARParameter allParams)
      {
             //My Code
      }
      

    客户端更改

    • Json格式的样子

    var data= {"action":"post","rule":{"ID":"1","Name":"Ramesh","PassFail":"Pass"}}

    • 你的客户端代码应该看起来像

      $scope.addData = function () { var data= {"action":"post","rule":{"ID":"1","Name":"Ramesh","PassFail":"Pass"}} $http({ url: urlContent + '/api/Rules/PostData', method: "POST", data: data }).success(function (response) { $scope.rules = response; });; }

    【讨论】:

    • allParams 出现为空
    • allParams 仍然为空 :(
    猜你喜欢
    • 2019-07-24
    • 2016-11-06
    • 2017-09-07
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2018-03-24
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多