• 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) {}
        });
  • 相关阅读:
    详解objc_msgSend
    shell变量类型
    web ssh vnc备忘录
    内存对齐
    vim ctags
    vim csupport 代码 快捷键
    程序在内存中的地址映射
    nginx+php配置
    tmux 复制
    sqlite insert select 联合使用
  • 原文地址:https://www.cnblogs.com/LGDD/p/9444125.html
Copyright © 2020-2023  润新知