ajax 提交Dictionary<string, string>或 Dictionary<string, string>用法
t-jian 时间:2021-12-23
某些情况下我们希望后台接口接收到的数据为字典对象已方便使用,这时就要求前端传递必须传递相关的数据结构数据(如下图对象)
字典对象 其实就是 key与value的形式即 {key:value},最后在提交时将整个对象JSON.stringify 转成字符串
C# 后端接口接收
[HttpPost, ValidateInput(false)] public JsonResult PostProduct([System.Web.Http.FromBody]AddProductModel input) { SiteLog.Track("productModel=" + JsonConvert.SerializeObject(input)); }
前端组装传递
// 这里 suk = Dictionary<string, string[]> var suk = [] for (var i = 0; i < sukNum; i++) { var key = $(`#cats${i}`).val(); var values = []; $(`input[name='standard${i}']`).each(function (index, element) { values.push($(this).val()); }); suk.push({ Key: key, Value: values }) } this.form.Suk = suk;
$.ajax({ url: "PostProduct", data: JSON.stringify(this.form), type: "post", contentType: "application/json", dataType:"json", success: function (res) { console.log(res, 444) }, error: function (err) { console.log(err, 323) } })
//priceSuk =Dictionary<string, Dictionary<string, double>> var priceSuk = [] let nameKey = $("input[name='product_name']").val(); let priceSukValues = []; for (var i = 0; i < priceSUK; i++) { let key = $(`input[name='product_inch${i}']`).val(); let value = $(`input[name='product_price${i}']`).val() priceSukValues.push({ Key: key, Value: value }); } priceSuk.push({ Key: nameKey, Value: priceSukValues }) this.form.PriceSuk = priceSuk;
附录图片
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。