jquery - MS MVC 形式的 AJAX 化技术

标签 jquery asp.net-mvc ajax forms

我正在寻找最优雅的方式来ajaxify我的表单(使用jQuery)。
你如何做到这一点?

最佳答案

这是我的解决方案(我认为这是一个Progressive enhancement解决方案),仅使用jQuery而不使用任何插件:

var form = $('form#YourFormId');
$(':submit', form).click(function (event) {
    event.preventDefault();
    $.post(form.attr('action'), form.serialize(),
        function(data, status) {
            if(status == 'success') {
                // your code here
            }
        }
    );
});

更新:

如果您的 POST 响应是“带有表单的 HTML”,请尝试以下操作:

function ajaxifyForm(form) {
    $(':submit', form).click(function (event) {
        event.preventDefault();
        $.post(form.attr('action'), form.serialize(),
            function(data, status) {
                if(status == 'success') {
                    var newForm = $(data);
                    ajaxifyForm(newForm);
                    form.after(newForm).remove();
                }
            }
        );
    });
}

关于jquery - MS MVC 形式的 AJAX 化技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930074/

相关文章:

c# - 如果每个请求使用一个 DbContext 实例,我是否也应该在每个请求上处理上下文 :

javascript - 使用 Laravel/Ajax 混淆 javascript 中的请求 url

c# - 从 jquery Ajax 调用 WCF 服务

javascript - 克隆的 bootstrap-selectpicker 选择关闭 1

javascript - 无法让滑出菜单正常显示

asp.net-mvc - 在 MVC 3 中跨请求保留查询字符串

php - 阻止 2 个相同的查询几乎同时执行?

javascript - Ajax 调用未到达 Laravel Controller

javascript - Codemirror通过HTML动态添加JS SRC

css - Bootstrap - 容器在小型设备中重叠