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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM