gpt4 book ai didi

jquery - Ajax FormData 追加列表对象

转载 作者:行者123 更新时间:2023-12-01 00:02:25 25 4
gpt4 key购买 nike

您好,我在将数据发布到 Controller 时遇到问题。现在我有以下一个模型,

public class Media
{
public int Id { get; set; }
public string Category { get; set; }
public string Guid { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public List<int> Portals { get; set; }
public string Lang { get; set; }
public List<Folder> Folders { get; set; }

}

然后我会将文件和该模型发布到 Controller 。在 View AJAX 端

var formData = new FormData();
var totalFiles = document.getElementById("FileUpload").files.length;
if (totalFiles === 0) {
toastr.warning('Lütfen resim yükleyin.');
return;
}
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("FileUpload").files[i];

formData.append("FileUpload", file);
}

var itemFolder= {
Id: refFolder
}

var folderss = [];
folderss.push(itemFolder);

var item = {
Title: title,
Description: desc,
Category: category,
Portals: portals,
Folders: folderss
}
formData.append("Title", title);
formData.append("Description", desc);
formData.append("Category", category);
formData.append("Portals", portals);
formData.append("Folders",folderss);


$.ajax({
type: 'POST',
url: '@Url.Action("Add", "Media")',
data: formData,

contentType: false,
processData: false,
success: function (data) {
var result = JSON.parse(data);
if (result.Status !== 200) {

toastr.error('@Resources.Resource.Error_Unexpected');
return;
}

if (result.Result === "SUCCEED") {
toastr.success('Resim kaydedilmiştir.');
window.location.reload();
return;
} else {
toastr.error('@Resources.Resource.Error_Unexpected');
}

},
error: function (error) {
toastr.error('@Resources.Resource.Error_Unexpected');
return;
}
});

我在 Controller 中获取此帖子数据,例如

public ActionResult Add(Models.Media item)
{
if (item == null
|| string.IsNullOrEmpty(item.Title)
|| string.IsNullOrEmpty(item.Category))
return Content(Serialization.JsonSerialize(new { Status = 400 }));

if (Request.Files.Count <= 0)
return Content(Serialization.JsonSerialize(new { Status = 401, Result = "NO_FILE" }));

return Content(Serialization.JsonSerialize(new { Status = 200, Result = MediaRepository.Add(item) }));
}

我获取所有没有文件夹属性的数据,它为空。我怎么解决这个问题?谢谢你

最佳答案

因为文件夹是对象的集合,所以您必须为每个对象添加一个索引。

var index = 0;
for(var pair of folderss){
var folder = pair[key];
formData.append("Folders[" + index + "].Id", folder.Id);
index++;
}

关于jquery - Ajax FormData 追加列表对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41765541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com