一,傳遞數組,
(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) {} });