jQuery向webApi提交post json数据

页面想webApi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递;

如下:

rush:js;"> //js代码 var d = { Id: "1",Name: "name",Value: "OldValue",7 }; $.ajax({ type: "post",url: url1,data: JSON.stringify({ pConfig: d }),success:function(d){ } });
rush:js;"> public class Diff { public string Id { set; get; } public string Name { set; get; } public string Value { set; get; } } public Diff post([FromBody]Diff pConfig) { List s = pConfig; return s; }

像这样的代码是没有问题的;得到的是一个标准结构的数据;

但是如果改为下面的代码,就会发现没有数据

rush:js;"> //js代码 var d = [{ Id: "1",Value: "Value",},{ Id: "2",Name: "name2",Value: "Value2",}]; $.ajax({ type: "post",data: JSON.stringify({ pConfig: d }),success:function(d){ } });
rush:js;"> public List post([FromBody]List diff) { List d = diff; return d; }

这样的代码会发现,数据没有传过来,后面才发现,原来jq的ajax传输数据类型有问题;传输的数据类型contentType的认值为 "application/x-www-form-urlencoded"。认值适合大多数情况。但是却不能适应这次传输的值,把 contentType: 'application/json' 设置一下,就可以ok了;数据传输完全没有问题;

rush:js;"> $.ajax({ type: "post",dataType: 'json',url: url,contentType: 'application/json',data: JSON.stringify(d),success: function (d) {
  }
});</pre>

以上所述是小编给大家介绍的jQuery向webApi提交post json数据。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...