时间:2021-05-26
在页面想webApi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递;
如下:
//js代码 var d = { Id: "1", Name: "name", Value: "OldValue", 7 }; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });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<DiffConfig> s = pConfig; return s; }像这样的代码是没有问题的;得到的是一个标准结构的数据;
但是如果改为下面的代码,就会发现没有数据
//js代码 var d = [{ Id: "1", Name: "name", Value: "Value", },{ Id: "2", Name: "name2", Value: "Value2", }]; $.ajax({ type: "post", url: url1, data: JSON.stringify({ pConfig: d }), success:function(d){ } });public List<Diff> post([FromBody]List<Diff> diff) { List<Diff> d = diff; return d; }这样的代码会发现,数据没有传过来,后面才发现,原来jq的ajax传输数据类型有问题;传输的数据类型contentType的默认值为 "application/x-www-form-urlencoded"。默认值适合大多数情况。但是却不能适应这次传输的值,把 contentType: 'application/json' 设置一下,就可以ok了;数据传输完全没有问题;
$.ajax({ type: "post", dataType: 'json', url: url, contentType: 'application/json', data: JSON.stringify(d), success: function (d) { } });以上所述是小编给大家介绍的jQuery向webApi提交post json数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用jQuery的.post提交,并期望得到多个数据,Python后台要使用json格式。不指定datatype为json,让jquery自行判断数据类型。(注
本文实例讲述了PHP基于curl模拟post提交json数据。分享给大家供大家参考,具体如下:这里php模拟post提交json数据操作的关键是在头部设置Con
本文主要介绍如何使用Angularjs$http服务以POST方法向服务器传递json对象数据。具体如下:一、$httpPOST方法默认提交数据的类型为appl
jQuery的ajax和遍历数组json实例代码jQuery.ajax({type:"POST",url:"server.json",dataType:'jso
今天做一个简单的增加数据,通过Jquery的Post方法,把Json数据传到Jsp后台,处理后却怎么都不进入回调函数,$.post("addGs.do","x=