Я реорганизовал рабочий код для использования правильных объектов, и теперь я не могу заставить AJAX.Request Prototype работать должным образом. Код ниже, он работает в контексте DataTable YUI:
SearchTable.prototype.setTableColumns = function (transport) {
this.dataTableColumns = transport.responseText.evalJSON();
this.dataTableCallback();
};
SearchTable.prototype.setTableConfiguration = function (transport) {
this.dataTableConfiguration = transport.responseText.evalJSON();
this.dataTableCallback();
};
SearchTable.prototype.show = function () {
....
new Ajax.Request(this.dataProxy, {
method: 'get',
parameters: {
format: 'json',
param: 'columns'
},
onSuccess: this.setTableColumns
});
new Ajax.Request(this.dataProxy, {
method: 'get',
parameters: {
format: 'json',
param: 'configuration'
},
onSuccess: this.setTableConfiguration
});
}
};
SearchTable.prototype.dataTableCallback = function () {
....
}
Моя проблема в том, что dataTableCallback
никогда не вызывается. Очевидно, это вызывает исключение, что this
не определено, что я могу понять: обратные вызовы не вызываются в контексте объекта и, следовательно, this
никогда не назначается. Я пытался прокрутить обратные вызовы, но не получилось.
Вопрос в том, как мне справиться с этой работой?