javascript - AJAX 调用将空值传递给控制器
问题描述
我正在尝试使用此 POST 类型的 AJAX 调用将数据发送到控制器,但它正在向控制器发送空值。通过此代码,我想在 Microsoft Dynamics 365 CRM 数据库中创建新记录。
var formdata = new FormData();
var rowCount = $(".newRow").length;
var projectarray = [];
var datearray = [];
var amountarray = [];
for (var i = 0; i < rowCount; i++) {
projectarray[i] = $("#ProjectType_" + i).val();
datearray[i] = $("#ClaimExpenseDate_" + i).val();
amountarray[i] = $("#Amount_" + i).val();
}
formdata.append("projectarray", projectarray);
formdata.append("datearray", datearray);
formdata.append("amountarray", amountarray);
$.ajax({
url: "@Url.Action("SetClaimDetails", "Claim")",
type: "POST",
data: formdata,
processData: false,
contenttype: false,
success: function (data) {
debugger;
window.location.href = "ess/claim";
alert("Submit Successful!");
},
error: function (err) {
window.location.href = "";
alert("Submit Failed!");
}
});
这是我的控制器方法,它存储空值而不是 AJAX 调用传递的值。因此,我无法在数据库中创建新记录。
public ActionResult SetClaimDetails(string projectarray, string datearray, string amountarray)
{
try
{
Entity item = new Entity("bam_expenseclaims");
item["bam_expdate"] = Convert.ToDateTime(datearray);
item["bam_amount"] = amountarray;
item["bam_project"] = new EntityReference("new_project", Guid.Parse(projectarray));
globalService.Connection.Create(item);
}
catch (Exception ex)
{
XmlConfigurator.Configure();
ILog log = LogManager.GetLogger("TechnicalErrorAppender");
log.Error(string.Empty);
throw ex;
}
return View(Constant.CLAIMPATH);
}
解决方案
推荐阅读
- android - 我们可以根据需要调整原生广告的大小吗?
- javascript - 消除
- 基于页面加载日期
- python - python - 将列表与 csv 进行比较
- android - 如何将 ACTION_IMAGE_CAPTURE 和 ACTION_VIDEO_CAPTURE 组合在一起
- hdfs - HDFS 和 NFS 文件夹之间的同步
- javascript - Masterpass 使重定向发生在 iframe 中或阻止导航
- javascript - 如何在不加载 Angular 5 js(供应商、main.bundle 等 ..)文件的情况下加载 .html 文件?
- chainer - 使用 Chainer 进行扩展甚至观察是空的
- bash - 是否可以使用 Bash 和 xmllint 连接两个节点变量?
- c# - 命名空间“Microsoft.Reporting”中不存在类型或命名空间名称“WebForms”(您是否缺少程序集引用?)