我将这个插件代码用于我在网上找到的ajax调用
jQuery.fn.postAjax = function(success_callback) {
this.submit(function(e) {
e.preventDefault();
$.post(this.action, $(this).serialize(), success_callback);
return false;
})
return this;
};
我改变了一点,所以我可以更好地使用它,其用法就像
$("#my_form_name").postAjax(function(data){
//code here
});
此代码的唯一问题是我无法在回调中使用$(this)
,这是一个问题......
我怎么能改变这个插件才能使用$(this)
?
答案 0 :(得分:2)
试试这个:
jQuery.fn.postAjax = function(success_callback) {
this.submit(function(e) {
e.preventDefault();
$.post(this.action, $(this).serialize(), $.proxy(success_callback, this));
return false;
})
return this;
};
了解jQuery proxy功能。