我有以下代码用于定义一个类
var class1 = function () {
this.classData = 'value1';
this.func1 = function(callback) {
$.ajax({
'url': '/somewhere',
'dataType': 'json',
'type': 'POST',
'data': {
options: 'some text'
},
'success': function (data, textStatus, jqXHR) {
callback(data); // <<<<<< THIS LINE
}
});
};
};
然后我像这样打电话给班级
var obj1 = new class1();
obj1.func1(function (d) {
this.classData = d;
});
但这似乎不起作用,因为在 sucess 函数内部,当在上面代码中标记的行调用回调函数时,它的this
对象指向window
而不是obj1
值。
我在这里做错了什么,我该如何解决?