javascript - 从表单发布复杂数据。JS ==> ASP.NET MVC 5
问题描述
我有复杂的字符串,文件形式。我正在向这个表单添加一些 JSON/对象。在控制器中我无法处理我添加的对象(产品),你可以在下面看到它。
楷模
模型 1. MyData
public string SomeThing { get; set; }
public IEnumerable<Product> Products { get; set; }
public IEnumerable<HttpPostedFileBase> Files { get; set; }
模型 2. 产品
public int Id { get; set; }
public int Count { get; set; }
控制器
[System.Web.Http.HttpPost]
public HttpStatusCodeResult GetData(MyData data) <== SomeThing-OK.Files-OK,Products-Products[0]
{
//logic
}
JS。我正在使用 Vue fetch API,但这不是一个交易。当我使用 JQuery 时也会发生同样的想法。
let form = new FormData(this.$refs.myForm);
form.append('Products', [{ 'Id': 1, 'Count': 2 }]) <== In controller I always get Products[0] =(
fetch('/GetData', {
method: 'post',
body: form
})
})
我完全糊涂了。我不想拒绝使用 FormData()。我可以用它轻松处理文件。但是如果我不使用 JSON(stringify),我的控制器看不到任何复杂的(Products) 对象。我将不胜感激任何建议。