JQuery,ajax和js OOP

时间:2015-02-22 15:31:40

标签: javascript jquery ajax oop

我有以下代码:

var Foo = function(){
    this._temp="uh";
};

Foo.prototype._handler=function(data, textStatus){
    alert(this._temp);
}

Foo.prototype.run=function(){
    $.ajax({
        url: '....', 
        success: this._handler
    });
}

所以当我朗读它时:

new Foo().run();

ajax查询已经返回,处理程序被处理,我收到this._temp is undefined的错误。是什么原因以及如何使用此代码模板进行修复?

1 个答案:

答案 0 :(得分:3)

$.ajax({
    url: '....', 
    success: this._handler.bind(this)
});

您需要绑定函数的上下文。

如果您使用调试器(在Web浏览器中可用),您将看到this未引用您的对象实例。