javascript - 在 ASP.NET MVC 表单上提交?

标签 javascript c# jquery asp.net-mvc

有没有办法可以使用 jQuery 中的 .submit 事件监听器从操作中获取返回值? 我有一个问题,当操作完成时,它返回一个 JSON 文件,而我的浏览器导航到一个空页面,只显示返回的 JSON。我不希望这种情况发生,我希望能够读取 JSON 结果并根据它决定要做什么。

这是我的概念验证: 查看:

@using (Html.BeginForm("SubmitTest", "DMS", FormMethod.Post, htmlAttributes: new { id = "formId" }))
        {
            <input type="submit" value="Sumbit" />
        }    

Controller :

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
        });
    });

关于javascript - 在 ASP.NET MVC 表单上提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41425333/

相关文章:

javascript - 为什么 const 通过扩展运算符更新属性?

javascript - 为什么在节点更改时在原型(prototype)内部分配 var node=this.obj 而不是 this.obj?

c# - 等价于 C# 中的 `IF ( X AND ( 2 ^ Y ) ) Then`

c# - 如何禁止在 C# 中重写类方法/属性?

javascript - 使用 jquery 将确切日期转换为时间之前 - 日期格式是什么?

php - 将 Meteor 与另一种编程语言结合使用

javascript - 我无法使用使用 AsyncStorage 时收到的数据

c# - 从 NetworkStream 读取。 ReadLine() 与 Read into ByteArray 哪个更好?

如果文本为 0,JavaScript 隐藏 DIV 标签

javascript - 如何在用户单击链接时记录 MixPanel 事件?