如何序列化模型,将其传递给ajax请求中的MVC控制器
我正在尝试将我的页面模型传递给我的控制器进行处理。 处理完信息之后,我想更新id“savedText”的div,以显示“Billing Information saved successfully 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 =(空字符串)。
三件事:
-
$('testForm')
应该是$('.testForm')
或$('#testForm')
。 因为你正在尝试选择
。 - 如果你只是发送表格,它不需要是json。
- 尝试
post
请求:
$.ajax({ url: '@Url.Action("TestingFunction", "BuildGiftCard")', dataType: 'json', success: function (result) { $("#savedText").html(result); }, data: $('#testForm').serialize(), type: 'POST' });