Вчера я задал довольно плохой вопрос, но у меня все та же общая проблема. Я хотел добавить свойство переменной к объекту, и я попытался сделать ajax-запрос для получения переменной, а затем установить свойство в ответ. Я думаю, что я пробовал это по крайней мере 100 различных способов:
Ext.onReady(go);
function go() {
var x;
function getRating(id, callback) {
Ext.Ajax.request({
url: '/index.php/ajax/do_rate',
method: 'POST',
success: function(result)
{
jsonData = Ext.util.JSON.decode(result.responseText);
x = jsonData.result;
}
});
}
r2 = new Ext.ux.form.Rater({
displayValue: x,
maxValue: 10
});
var simple = new Ext.FormPanel({
items: [r2]
});
simple.render(document.body);
}
Если попробовать, как указано выше, x не определено. Если я попытаюсь создать r2 до запроса ajax и установить его displayValue в запросе, для объекта в консоли будет показано правильное displayValue, но оно не будет отображаться с правильным displayValue. Я не думаю, что это вовремя. Спасибо за помощь, я думаю, что мне может понадобиться обратный вызов, но я не могу найти правильный метод.
Рабочий код ниже:
Ext.onReady(go);
function go() {
Ext.Ajax.request({
url: '/index.php/ajax/do_rate',
method: 'POST',
success: function(result)
{
jsonData = Ext.util.JSON.decode(result.responseText);
var r2 = new Ext.ux.form.Rater({
displayValue: jsonData.result,
maxValue: 10
});
var simple = new Ext.FormPanel({
items: [r2]
});
simple.render(document.body);
}
});
}