微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐