如何在不刷新的情况下使用Ajax在ASP.NET MVC中保存表单数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不刷新的情况下使用Ajax在ASP.NET MVC中保存表单数据相关的知识,希望对你有一定的参考价值。

我想使用Ajax在ASP.NET MVC中保存表单数据而不刷新。我尝试了两天,但仍然没有用。我使用Web方法做到了,但这在ASP.NET MVC中不起作用。

Ajax代码:

<script>
    $(document).ready(function() {
        $("#saveDepartmentForm").submit(function () {
            var dept = {};
            dept.DepartmentCode = ("#departmentCode").val();
            dept.DepartmentName = ("#departmentName").val();
                $.ajax(
                {
                    type: "POST",
                    url: "SaveDepartment/SaveDept",
                    data: { aDepartment: dept },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        alert("User has been added successfully.");

                    },
                    error: function(err) {
                        alert(err);
                    }

                });

            });

       });
</script>

控制器代码:

public ActionResult SaveDepartment()
{
    return View();
}

[HttpPost]
public ActionResult SaveDept(Department aDepartment)
{
    return Json(aSaveDepartmentManager.SaveDepartment(aDepartment));
}

系类:

public class Department
{
    public int Id { get; set; }
    public string DepartmentCode { get; set; }
    public string DepartmentName { get; set; }
}
答案

将你的$.ajax()改为:

$.ajax({
    type: "POST",
    url: "/SaveDepartment/SaveDept",
    data: dept,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {
        alert("User has been added successfully.");
    },
    error: function(err) {
        alert(err);
    }
});

看看这些demos,这样你就可以更好地了解ajax的工作流程

另一答案

如何在不刷新的情况下使用Ajax在ASP.NET MVC中保存表单数据

您似乎正在通过提交表单提交

 $("#saveDepartmentForm").submit()

但是,您需要取消提交,以便您的页面不刷新:

 $("#saveDepartmentForm").submit(function(e) {
   e.preventDefault();
   // ... the rest of your code.
 })
另一答案

试试这个:

var dept = new Array();
dept.push({DepartmentCode:DepartmentCode, DepartmentName:DepartmentName});

以上是关于如何在不刷新的情况下使用Ajax在ASP.NET MVC中保存表单数据的主要内容,如果未能解决你的问题,请参考以下文章

在不刷新父页面的情况下更改 iframe src

如何使用 Django、Ajax、jQuery 在不刷新页面的情况下提交表单?

如何在不刷新页面的情况下使用 ajax 保存 acf_form

如何在不刷新网页的情况下使用 ajax 和 jquery 动态更改 Datatables 的多个列标题?

如何在不重新发送信息的情况下刷新网页?

如何在不使用 ajax 刷新的情况下在我的页面上显示我的 php 响应?