【发布时间】:2022-01-08 00:00:06
【问题描述】:
我想在点击按钮后将所有数据传递给控制器。
var data = new FormData();
这是我的 javascript 对象
var info = {};
info.CorporateName = $("input[name*='CorporateName']").val();
info.CorporatePhone1 = $("input[name*='CorporatePhone1']").val();
info.CorporatePhone2 = $("input[name*='CorporatePhone2']").val();
info.CorporateEmail = $("input[name*='CorporateEmail']").val();
我可以使用以下代码从控制器获取这些数据
$.each(info, function (key, input) {
data.append(key, input);
});
这是我的文件列表。我可以使用以下代码从控制器访问这些文件
var allfiles = $(".required-files");
for (var i = 0; i < allfiles.length; i++)
{
var files = allfiles[i].files;
data.append('files', files[0]);
}
这是我的包裹 cookie。我无法从控制器访问包裹列表
var packageList = $.parseJSON($.cookie("packageList"));
data.append('packageList',JSON.stringify(packageList));
我可以发布文件、我的信息对象,但我无法发布 cookie 列表
这是我的控制器
[HttpPost]
public async Task<IActionResult> create(IEnumerable<IFormFile> files, List<PostServiceDto> packageList, ModelDto Model)
{
// files = not null, Model not null, but packageList = null
var model = Request.Form;
return View();
}
我的包装模型
public class PostServiceDto
{
public string Type { get; set; }
public string Name { get; set; }
public string Price { get; set; }
public string Id { get; set; }
public string Count { get; set; }
}
【问题讨论】:
-
当您执行
JSON.stringify(objects)时,objects定义在哪里? -
object 表示 packageList @charlietfl
标签: javascript jquery ajax asp.net-mvc asp.net-core