4

首先,我为我糟糕的英语道歉......希望有人能理解我的问题并帮助我......

我正在使用大量 $.post 调用来开发一个项目,我想通过为所有这些调用添加相同的验证来改进它们。

我不想一一更改所有脚本,所以有没有办法覆盖 $.post 函数以同时向所有脚本添加相同的内容?或者也许是一种在每个 $.post 上触发另一个功能的方法?就像是 :

$.post.each(function(){[...]});

或者

$('body').on('post', function(){[...]});

谢谢 !

编辑:终于如我所愿!这是我的代码:

// Override $.post
(function(){
    // Store a reference to the original remove method.
    var originalPostMethod = jQuery.post;

    // Define overriding method.
    jQuery.post = function(data){
        // Execute the original method.
        var callMethod = originalPostMethod.apply( this, arguments);

        callMethod.success(function(){
            //console.log('success');
        });
        callMethod.error(function(){
            //console.log('error');
        });
        callMethod.complete(function(){
            //console.log('complete');
            return callMethod;
        });
    }
})();
4

2 回答 2

2
$.post = function() {
  var _method = $.post;
  // do something you want
  console.log("do someting");
  return _method.apply($, Array.prototype.slice.apply(arguments));
}
于 2012-08-13T08:09:55.013 回答
0

您可以创建一个 jQuery-Plug 进行验证,然后将数据发布到服务器。可以在 jQuery教程中找到基础知识。

于 2012-08-13T08:07:17.097 回答