提交带有数据模型的表单并获取JSON回复



我在剃刀视图中有一个表单,其定义如下:

using (Html.BeginForm("Submit", "CT0, FormMethod.Post, new { id = "rForm" }))

我在CT0中有一个名为submit的方法,它接受一个模型:

public async System.Threading.Tasks.Task<ActionResult> Submit(CTModel ctmodel)

当我提交这样的表单时,它会使用正确的模型命中函数,但我无法获得JSON回复:

var form = document.getElementById('rForm');
form.submit();

我尝试过ajax,但它没有提交给控制器,或者错误,或者成功。它似乎什么都没做:

$("#rForm").submit(function (e) {
e.preventDefault(); // avoid to execute the actual submit of the form.
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // serializes the form's elements.
success: function (data) {
alert(data); // show response from the php script.
}
});

});

我尝试了jquery,但它从未命中控制器中的submit函数或出错。它似乎什么都没做:

$(function () {
$('form[name=rForm]').submit(function () {
$.post($(this).attr('action'), $(this).serialize(), function (json) {
alert(json);
}, 'json');
return false;
});
});

那么,你知道我如何提交表格和模型并得到回复吗?提前谢谢。

这很有效:

var form = $("#rForm");
$.ajax({
type: 'POST',
url: "/CT0/Submit",
data: form.serialize(),
success: function (data) {
showModal("Error Getting Address: " + data.message);
},
error: function (xhr) {
showModal("Error Getting Address: " + xhr.status + " " + xhr.statusText);
}
})

相关内容

  • 没有找到相关文章

最新更新