Как сохранить данные формы в ASP.NET MVC с помощью Ajax без обновления - PullRequest
0 голосов
/ 09 июня 2018

Я хочу сохранить данные формы в ASP.NET MVC, используя Ajax без обновления.Я пробовал два дня, но все равно это не работает.Я сделал это с помощью веб-метода, но это не работает в 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; }
}

Ответы [ 3 ]

0 голосов
/ 30 декабря 2018

Попробуйте это:

var dept = new Array();
dept.push({DepartmentCode:DepartmentCode, DepartmentName:DepartmentName});
0 голосов
/ 30 декабря 2018

Как сохранить данные формы в ASP.NET MVC с помощью Ajax без обновления

Похоже, вы перехватываете отправку формы с помощью

 $("#saveDepartmentForm").submit()

Однако вынеобходимо отменить отправку, чтобы ваша страница не обновлялась:

 $("#saveDepartmentForm").submit(function(e) {
   e.preventDefault();
   // ... the rest of your code.
 })
0 голосов
/ 12 июня 2018

измените $.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);
    }
});

посмотрите эти демонстрации , чтобы вы лучше поняли рабочий процесс ajax

...