[英]How to Send json object with fromdata to mvc controller
I am sending formdata
data object to mvc controller. 我正在将formdata
数据对象发送到mvc控制器。 I received the array in controller but the object is always missing. 我在控制器中收到数组,但是该对象始终丢失。 Searched a lot about it did not find a clue. 搜索了很多关于它的线索。
I have tried to send whole object or appending each value to formdata
but its always null. 我试图发送整个对象或将每个值附加到formdata
但它始终为null。 does formdata
accepts? formdata
接受吗? nested object. 嵌套对象。
My jQuery code: 我的jQuery代码:
function addstudent() {
var form= $("#studentform").valid();
if (form)
{
personfood.details.firstname = $("#firstname").val();
personfood.details.lastname = $("#lastname").val();
personfood.details.imageuploaded = $("#imageupload")[0].files[0];
personfood.details.rememberme = $("#rememberme").is(":checked");
personfood.details.newsletter = $("#newsletter").is(":checked");
personfood.details.gender = $("input[name='gender']").val();
var personfoods = new FormData();
$.each(personfood.details, function (key, value) {
personfoods.append(key, value);
});
$.each(personfood.foodname, function (key, value) {
personfoods.append("foodname["+[key]+"]", value);
});
for (var pair of personfoods.entries()) {
console.log(pair[0] + ', ' + pair[1]);
}
$.ajax({
url: "/Main/addperson",
type: "POST",
processData: false,
cache: false,
contentType: false,
dataType: "json",
data: personfoods,
success: onsucessinsert,
error:onerrorinsert
})
}
My ViewModel 我的ViewModel
public class personfoods
{
public details details { get; set; }
public List<string> foodname { get; set; }
}
details
model: details
模型:
public class details
{
public int id { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string imagename { get; set; }
public string imageshorturl { get; set; }
public string imagefullurl { get; set; }
public bool rememberme {get;set;}
public bool newsletter { get; set; }
public string gender { get; set;}
public HttpPostedFileBase imageuploaded { get; set; }
}
i solve it using $.each and appending key value pairs to my formdata. 我使用$ .each解决,并将键值对附加到我的formdata中。
$.each(personfood.details, function (key, value) {
personfoods.append("details[" + key + "]",value);
});
ContentType should be ''application/json; ContentType应为``application / json; charset=utf-8" and you can not post files like you are doing. I think data:JSON.stringify(personfoods); should work for remaining properties. charset = utf-8”,则您无法像这样做那样发布文件。我认为data:JSON.stringify(personfoods);应该可用于其余属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.