如何序列化模型,在ajax请求中将其传递给MVC控制器

本文关键字:控制器 MVC 请求 序列化 模型 ajax | 更新日期: 2023-09-27 18:14:46

我正试图将页面的模型传递给控制器进行处理。处理完信息后,我想更新id"savedText"的div以显示"Billing information saved successfully">

我有这个在我的看法

function testingFunction() {
    var obj = $('testForm').serialize();
    $.ajax({
        url: '@Url.Action("TestingFunction", "BuildGiftCard")',
        dataType: 'json',
        success: function (result) {
            $("#savedText").html(result);
        },
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(obj)
    });
    return false;
}

我的控制器里有这个:

[HttpPost]
public JsonResult TestingFunction(PurchaseModel model)
{
    return Json("Billing information saved successfully.");
}

我做错了什么?

当在网络选项卡中的chrome中"检查元素"时,它表示找不到我的控制器方法。

此外,对我来说,将整个模型从视图获取到控制器的函数(本例中为TestingFunction(中很重要,这样我就可以获取表单信息并保存它。我正在尝试.serialize((函数,但结果是obj=(空字符串(。

如何序列化模型,在ajax请求中将其传递给MVC控制器

三件事:

  1. CCD_ 1可能是CCD_ 2或CCD_。实际上,您正在尝试选择一个<testForm></testForm>
  2. 如果您只是发送表单,那么它不需要是json
  3. 尝试执行post请求:

$.ajax({
    url: '@Url.Action("TestingFunction", "BuildGiftCard")',
    dataType: 'json',
    success: function (result) {
        $("#savedText").html(result);
    },
    data: $('#testForm').serialize(),
    type: 'POST'
});