如何通过angular $http.get向webapi发送json数据

本文关键字:webapi 发送 json 数据 get 何通过 angular http | 更新日期: 2023-09-27 18:11:36

WebAPI Code

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

如何通过angular $http.get向webapi发送json数据

你的API方法PostData是POST类型的,所以调用应该是POST。下面是构造json的方法。

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

服务器端变化

  • 在动作中设置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; });; }