类的jQuery ajax回调成员?

时间:2012-12-13 15:42:41

标签: javascript jquery

  

可能重复:
  Is there a way for a JQuery ajax success function to access the object it’s contained in?

我有一些类似的代码

myClass.prototype.doStuff = function(){

  $.ajax({
        type: 'POST',
        url: $('#form').attr('action'),
        data: $('#form').serialize(),
        success: this.callback
  });
};

myClass.prototype.callback = function(data){
   if(this.someFlag){
     //do some stuff  
   }

};

在这种情况下,我认为this是myClass的实例,但实际上并非如此。那是为什么?

1 个答案:

答案 0 :(得分:7)

context: this作为ajax选项传递。

  

此对象将成为所有与Ajax相关的回调的上下文。默认情况下,上下文是一个对象,表示调用中使用的ajax设置($.ajaxSettings与传递给$.ajax的设置合并)。

$.ajax({
    type: 'POST',
    url: $('#form').attr('action'),
    data: $('#form').serialize(),
    context: this,
    success: this.callback
});