在页面想webApi post json数据的时候,发现webapi不能直接以json的方式接受数据(注:我是没有发现一个很好的方式来post json数据的);但是可以以数据结构的方式传递;
如下:
代码
var d = {
Id: "1",Name: "name",Value: "OldValue",7 };
$.ajax({
type: "post",url: url1,data: JSON.stringify({
pConfig: d
}),success:function(d){
}
});
s = pConfig;
return s;
}
像这样的代码是没有问题的;得到的是一个标准结构的数据;
但是如果改为下面的代码,就会发现没有数据
代码
var d = [{
Id: "1",Value: "Value",},{
Id: "2",Name: "name2",Value: "Value2",}];
$.ajax({
type: "post",data: JSON.stringify({
pConfig: d
}),success:function(d){
}
});
post([FromBody]List diff)
{
List d = diff;
return d;
}
这样的代码会发现,数据没有传过来,后面才发现,原来jq的ajax传输数据类型有问题;传输的数据类型contentType的默认值为 "application/x-www-form-urlencoded"。默认值适合大多数情况。但是却不能适应这次传输的值,把 contentType: 'application/json' 设置一下,就可以ok了;数据传输完全没有问题;
}
});</pre>
以上所述是小编给大家介绍的jQuery向webApi提交post json数据。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/jquery/42471.html