WebapI POST参数设置

一,传递数组,

(1)后台代码

        [HttpPost]
        public bool SaveData(string[] ids)
        {
            return true;
        }

(2)前端调用代码

var arr = ["1", "2", "3", "4"];
    $.ajax({
        type: "post",
        url: "http://localhost:27221/api/Charging/SaveData",
        contentType: 'application/json',
        data: JSON.stringify(arr),
        success: function (data, status) { }
    });

          注意:后台直接用数组参数接收即可,前端需要用JSON.stringify()将数组字符串化。同时contentType类型应为 'application/json'

 

二,传递基础类型

  (1)后台代码 

        [HttpPost]
        public object SaveData(dynamic obj)
        {
            var strName = Convert.ToString(obj.NAME);
            return strName;
        }

       (2)前端代码

 $.ajax({
        type: "post",
        url: "http://localhost:27221/api/Charging/SaveData",
        contentType: 'application/json',
        data: JSON.stringify({ NAME: "Jim",DES:"备注" }),
        success: function (data, status) {}
    });

      注意:传递基础类型值时候,后台使用dynamic,前端使用JSON.stringify({ NAME: "Jim",DES:"备注" })处理,同时contentType类型应为 'application/json'

 

三,参数为实体类型

  (1)后台代码

       [HttpPost]
        public bool SaveData(TB_CHARGING oData)
        {
            return true;
        }

       (2)前端代码

 $.ajax({
        type: "post",
        url: "http://localhost:27221/api/Charging/SaveData",
        data: { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" },
        success: function (data, status) {}
    });

    注意:参数为实体类型的时候,正常使用,但同时contentType类型不能为 'application/json'

        另一种方式也可以,如下所示:

  var postdata = { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" };
    $.ajax({
        type: "post",
        url: "http://localhost:27221/api/Charging/SaveData",
        contentType: 'application/json',
        data: JSON.stringify(postdata),
        success: function (data, status) {}
    });

        [HttpPost]
        public bool SaveData(TB_CHARGING lstCharging)
        {
            return true;
        }

 

四 实体类型和基础类型同时使用

         此时可以使用dynamic

       [HttpPost]
        public object SaveData(dynamic obj)
        {
            var strName = Convert.ToString(obj.NAME);
            var oCharging = Newtonsoft.Json.JsonConvert.DeserializeObject<TB_CHARGING>(Convert.ToString(obj.Charging));
            return strName;
        }
 var postdata = { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" };
    $.ajax({
        type: "post",
        url: "http://localhost:27221/api/Charging/SaveData",
        contentType: 'application/json',
        data: JSON.stringify({ NAME:"Lilei", Charging:postdata }),
        success: function (data, status) {}
    });

 

转载于:https://www.cnblogs.com/LGDD/p/9444125.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值