在使用MVC提交表单到webapi的时候,表单绑定的实体在webapi中为null
代码如下
前台
$(document).ready(function () {
$("#btnAdd").click(function () {
var form = document.getElementById("formMain");
var data = new FormData();
data.append("value", form);
$.ajax({
url: 'http://localhost:4000/api/UserManager',
type:'post',
data: data,
async: true,
dataType: "json",
contentType: "application / json",
processData:false,
success: function (data) {
alert(alert(JSON.stringify(data)));
},
error: function (data) {
alert(alert(JSON.stringify(data)));
}
});
});
})
后台
public Users Post([FromBody]Users value)
{
var r= Request.Content;
Users u = new Users();
u = value;
u.ID = 1234;
return u;
}
获取的value为null请问大神是什么原因,该如何解决
因为从来没用过(主要是认为没必要)FormData传数据,所以对楼主的代码有如下疑问,当然疑问可能并不能帮楼主解决问题:
楼主为啥用的是 data.append("value", form) ,而是不是data.append("value", $(form).serialize())?
楼主的写法不是在说你的value是个form标签吗? 标签对象怎么后台用Users接收?