[英]Submit on an ASP.NET MVC form?
有没有一种方法可以使用jQuery中的.submit事件侦听器从操作获取返回值? 我有一个问题,当操作完成时,它返回一个JSON文件,而我的浏览器导航到一个空白页面,仅显示返回的JSON。 我不希望这种情况发生,我希望能够读取JSON结果并根据其决定要做什么。
这是我的POC:查看:
@using (Html.BeginForm("SubmitTest", "DMS", FormMethod.Post, htmlAttributes: new { id = "formId" }))
{
<input type="submit" value="Sumbit" />
}
控制器:
public JsonResult SubmitTest()
{
return Json("Done");
}
脚本:
$(document).ready(function () {
$("formId").submit(function () {
alert("Submitted");
});
});
您可以添加event.preventDefault
或return false
以防止发生默认事件。 因此它不会导航到空白页。
$(document).ready(function () {
$("formId").submit(function () {
alert("Submitted");
return false;
});
});
编辑:如果要获取响应,则需要发出ajax请求并从字段中获取表单数据。 使用submit
功能无法获得响应。
$(document).ready(function () {
$("formId").submit(function () {
/// make an AJAX request
$.post(
$(this).attr('action'), //// action url
$(this).serialize(), //// serialize form fields
function(json) {
alert(json);/// json response
}, 'json');
return false; /// prevent navigation
});
});
使用AJAX
表单而不是HTML
表单,这样您可以在提交响应后检查响应,并使用OnSuccess
处理程序执行所需的任何OnSuccess
。
有关详细信息,请参阅本文
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.