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

创新互联专业网站建设、成都做网站,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文推广等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
如下:
//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 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 Listpost([FromBody]List diff) { List 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数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!
网站名称:jQuery向webApi提交postjson数据
文章地址:http://www.jxjierui.cn/article/pjoohc.html


咨询
建站咨询
