为了账号安全,请及时绑定邮箱和手机立即绑定

怎样在jquery.ajax中执行当前函数的其他方法?

怎样在jquery.ajax中执行当前函数的其他方法?

慕运维8079593 2019-03-29 22:09:18
//简单的ajax表单提交(function($,window,undefined){varajaxForm=function(opts){vardef={successLabel:'发送成功',url:'/user/check',dataType:'html'}this.form=$('#'+formid)||$('form');this.opts=$.extend({},def,opts);this.formdata=this.form.serialize();}//发送前执行ajaxForm.prototype.before=function(){this.submitButton=$form.find(':submit');this.submitButton.val('提交中...');}//请求成功回执函数ajaxForm.prototype.success=function(data){$('#message')=this.opts.successLabel;}//ajaxForm.prototype.send=function(){$.ajax({url:this.opts.url,//无错before:this.before,//引用ajaxForm.before方法success:this.success,//执行到这里错误,success内部this方法出错了type:'post',data:this.formdata})}window.ajaxForm=ajaxForm;})(jQuery,window)//实例newajaxForm().send();以上执行,会提示this.opts.successLabel未定义,我知道当ajax引用this.success的时候,success内部this已经指向当前ajax对象了,请问各位老师,如何在ajax方法中,正确引用一个原型的方法呢?
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

找到方法了,谢谢关注!
var_this=this;
$.ajax({
type:this.opts.method,
url:this.opts.url,
dataType:this.opts.data_type,
data:postdata,
success:function(){
_this.success.apply(_this,arguments);
},
error:function(){
_this.error.apply(_this,arguments);
}
});
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信