繁体   English   中英

在ASP.NET MVC表单上提交?

[英]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.preventDefaultreturn 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM