ajax - MVC 控制器从 ajax 接收空值
问题描述
我正在尝试向 mvc 控制器发送 Ajax 帖子,其中包含两个参数。
第一个参数:序列化模型(文件夹)
第二个参数:数组(周期)
问题是控制器在第一个参数中接收到空值:
Javascript代码:
var data = JSON.stringify({
Folder: $('#Folder').serialize(),
Periods: periodsArr
});
function save(data) {
return $.ajax({
type: 'POST',
//cache: false,
contentType: 'application/json', //Without folder not empty and period is empty
//traditional: true,
//dataType: "json",
url: '@Url.Action("AddOrEditFolder", "Folder")',
data: data,
success: function (result) {
alert(result);
location.reload();
},
error: function () {
alert("Error!" + Error);
}
});
}
html代码:
<div class="card-body">
@using (Html.BeginForm(null, null, new { @id = string.Empty }, FormMethod.Post, new { @id = "Folder" }))
{
@Html.HiddenFor(model => model.FolderID)
<div class="row">
<label for="FirstNameAR" class="col-sm-2 control-label">الإسم الشخصي</label>
<div class="col-sm-4">
@Html.EditorFor(model => model.Trainee.FirstNameAR, new { htmlAttributes = new { @id= "FirstNameAr", @class = "form-control" } })
</div>
<label for="FirstNameFR" class="col-sm-2 control-label">الإسم العائلي</label>
<div class="col-sm-4">
@Html.EditorFor(model => model.Trainee.FirstNameFR, new { htmlAttributes = new { @id = "FirstNameFr", @class = "form-control" } })
</div>
</div> <br />
控制器代码:
[HttpPost]
//[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddOrEditFolder(Folder Folder, Period[] Periods)
{
//Folder Folder = JsonConvert.DeserializeObject<Folder>(Obj);
using (InternshipsEntities dbContext = new InternshipsEntities())
{
//Some code here
}
}
我该如何解决这个问题?
解决方案
使用以下代码创建数据对象以传递Ajax
请求。
var Folder = { };
$.each($('#Folder').serializeArray(), function() {
Folder[this.name] = this.value;
});
var data = {
Folder: Folder
Periods: periodsArr
};
推荐阅读
- .net - Docker 中的应用程序可以从基本操作系统上的 python 获取输入/输出吗?
- twitter-bootstrap - 处于响应模式时,数据表子行未出现在第一列中
- ruby-on-rails - form_tag 在提交时不会产生 stripeToken
- microsoft-translator - 如何知道文档翻译器使用 API v2 还是 v3?
- android - Firebase 安卓用户认证
- java - 寻找旅程的起点城市
- regex - 如果匹配发生在前 N 个字符内,则提取正则表达式
- python-3.x - 使用 SALib 在 Python 中的敏感性分析错误
- python-3.x - 不一致的 python import_module 行为
- javascript - Moment.js 处理德语 Dezember 和 Januar 不同