public List<Region> Regions { get; set; }
在名为News的模型中
public class Region
{
public int Id { get; set; }
public string Name { get; set; }
public static Region Parse(DataRow row)
{
return new Region
{
Id = Database.GetInteger(row["Id"]),
Name = Database.GetString(row["Region"]),
};
}
}
在Javascript中,我将AJAX post方法与formdata一起使用。我要设置这个区域。
var regionList = [];
if (selected === "region") {
if (region.length <= 0) {
toastr.warning('Lütfen en az bir bölge seçin !!!');
return;
}
for (var i = 0; i < region.length; i++) {
var item = {
Id: region[i]
}
regionList.push(item);
}
console.log(regionList);
formData.append("Regions", regionList);
}
上面我在JS中编写的代码是这样设置的
public ActionResult AddByRegion(News item)
{
int refPortal = SessionRepository.GetPortalId();
if(refPortal!=1)
return View("List", NewsRepository.ListAll(SessionRepository.GetPortalId()));
if (item == null
|| string.IsNullOrEmpty(item.Title)
|| string.IsNullOrEmpty(item.Content)
)
return Content(Serialization.JsonSerialize(new { Status = 400 }));
return Content(Serialization.JsonSerialize(new { Status = 200, Result = NewsRepository.AddByRegion(item) }));
}
和上面的代码我将进入控制器。但是,尽管至少我选择了两个区域,但它始终返回0条记录。
$.ajax({
type: 'POST',
url: '@Url.Action("AddByRegion", "News")',
data: formData,
contentType: false,
processData: false,
success: function(data) {
var result = JSON.parse(data);
if (result.Result === "SUCCEED") {
toastr.success('@Resources.Resource.Success_MediaAdd');
window.location.reload();
return;
}
else {
toastr.error('@Resources.Resource.Error_Unexpected');
return;
}
},
error: function(error) {
toastr.error('@Resources.Resource.Error_Unexpected');
return;
},
beforeSend: function() {
waitingDialog.show('Wait...');
},
complete: function() {
waitingDialog.hide();
}
});
我的Ajax方法在上面。我在哪里犯错?
提前致谢。
如果您FormData
用于发送数据,则需要将.append()
每个单独的名称/值发送给FormData
。由于它是一个集合,因此您必须包括集合索引器(它必须从零开始并且是连续的),例如
formData.append("Regions[0].Id", someValue);
formData.append("Regions[0].Name", someValue);
formData.append("Regions[1].Id", someValue);
formData.append("Regions[1].Name", someValue);
由于您是循环执行此操作,因此可以使用
for (var i = 0; i < region.length; i++) {
formData.append("Regions[" + i + "].Id", region[i])
}
是这种格式,在后端,我只在请求中获得格式。我还需要发送“original_file_name”和“function_name”属性。当然,我可以将数组分成3个部分并分别追加它们,但是有没有办法将每个mediasData数组索引的所有there属性发送到formdata数组各自的索引中?
问题内容: 我正在使用ajax提交包含数组,文本字段和文件的多部分表单。 我将每个VAR附加到主数据中 然后我使用ajax函数将其发送到PHP文件以存储在sql DB中。 但是在PHP方面,变量(即数组)显示为字符串。 当我不使用ajax作为表单数据发送它,而是使用简单的选项时,确实在PHP端将它作为数组获得,但是后来我也无法发送文件。 有什么办法吗? 问题答案: 您有几种选择: 将其转换为JSO
< code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:
问题内容: 我编写此代码是为了使用HTML中的元素将图像上传到本地Apache Web服务器。该记录为不为空,但为什么是完全空的? 这是我在本地网络服务器上的 将记录所有PHP文件的代码行,而不是返回的结果 问题答案: 仅记录formData对象时,它始终返回空,因为您无法记录formData。 如果您只需要在发送前对其进行记录,则可以使用它来获取formData对象中的条目
我有一个for循环,它遍历CSV中的每一行,我创建了一个包含列表的字典,但是列表被重写了,因为字典键被重复了几次。我如何总结或追加到列表中的第二(1)位置相同的键的下一个值下一个循环迭代? 因为使用append时,如果再次找到现有键,则会覆盖该值,因此该键的值会被一次又一次地覆盖。 CSV中的字段包括: 输出应该是这样的:
问题内容: 我正在为Unity Engine开发多人api。我有Room和RoomManager结构。当我要创建房间时,我设置房间名称id(所有变量),然后将这个新房间附加到RoomManager结构中的allRoom数组中。之后,当我修改为房间变量时,便无法更改任何变量。我不知道为什么? 这是我的结构和方法: RoomManager结构 房间结构 房间创建方法 将用户添加到房间 问题答案: 您的