c# - Ajax 发布两次 ASP NET CORE MVC
问题描述
控制器
[HttpPost]
public IActionResult Index(string mainFin, string actNumber, int actTypeId)
{
int userId = Int16.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier));
Act act = new Act()
{
ActTypeId = actTypeId,
CreateDate = DateTime.Now,
ApproveDate = null,
UserId = userId,
StatusId = 1,
};
_unitOfWork.ActRepository.Add(act);
_notyf.Success("Arayış əlavə edilid !");
_unitOfWork.Complete();
return RedirectToAction("Marriage");
}
阿贾克斯
$(function () {
var actTypeId = $("#questList option:selected").val();
console.log("QuestList ishledi !");
$('#formSubmit').click(function (e) {
var mainFin = $("#FinInput").val();
var actNumber = $("#actNumber").val();
console.log(mainFin);
$.ajax({
url: "/Home/Index",
type: "POST",
data: { mainFin: mainFin, actNumber: actNumber },
success: function (data) {
console.log("+++++");
},
error: function () {
console.log("------");
}
});
e.preventDefault();
$("#questForm1").submit();
});
});
问题:当我单击提交按钮时,数据向数据库插入两次(AJAX 同时发出 2 个请求)
解决方案
如果要通过 AJAX 提交表单,则需要删除 click 事件处理程序的最后一行。
$("#questForm1").submit();
这一行正在提交表单,基本上否定了e.preventDefault()
上述内容。
推荐阅读
- function - 在函数中使用变量
- powershell - 有没有办法“获取剪贴板”并在命令行中使用引用的剪贴板信息?
- slack-api - Slack 部分块:长字符串的 Markdown 预格式化溢出问题
- c# - 添加迁移时使用提取数据库连接字符串时ConfigurationManager返回null
- c# - Unity 中的 UI 按钮是否有位置?
- autohotkey - AHK 用于使用热字串编码片段
- javascript - 在 weback 中找不到别名模块的模块
- java - 如何将一个组捕获到下一个第一组?
- regex - RegEx 用于捕获除正斜杠之外的每个字符
- python - 在熊猫中将日期字符串 YYYY-MM-DD 转换为 YYYYMM