用于连接AJAX表单的jQuery插件 - 必须提供错误回调

Sim*_*ver 3 ajax jquery unobtrusive-javascript

什么是使用jQuery将AJAX功能连接到现有Form的最佳方法,并允许错误处理回调.

jQuery.ajax(...)内置功能具有以下(有用)回调函数:

beforeSend

完成

dataFilter

错误

成功

我以为我用jQuery.Form插件找到了我的答案,但是由于一些疯狂的原因他们没有给你访问错误回调!! 除了这个遗漏,它似乎非常有用.

一般来说,jQuery.get在他们推荐之前推荐使用的文章数量让我感到非常沮丧jQuery.ajax.回顾一下:get()没有错误回调,但ajax()确实如此.

在我看来,你应该总是使用,ajax()因为你总是应该有某种错误处理逻辑.

还有其他很好的插件 - 特别是与ASP.NET-MVC配合得很好的东西,我应该使用它来更容易地挂钩一切吗?

efa*_*cao 6

这是一个非常简单的片段,我是从我的一个项目中复制而来的,只是对它进行了一些攻击(几乎没有经过测试).让我知道这个是否奏效.

(function() {
$.fn.ajaxify = function(options) {
    $(this).submit(function(e) {
        var form = $(this);
        $.ajax({
            type : form.attr('method'),
            url : form.attr('action'),
            data : form.serialize(),
            error : options.error,
            success : options.success,
            dataType : "script"
        });

        return false;
    });
}
})();
Run Code Online (Sandbox Code Playgroud)

使用它:

$('form').ajaxify(
    {success: success_method_name, 
    error: error_method_name});
Run Code Online (Sandbox Code Playgroud)