我要做的是获取我在ajax请求中的信息作为徽章文本号
这是我试图去做的地方。这看起来很简单,但我无法弄明白。
Ext.Ajax.request({
url: '../lib/messages.php',
success: function(response, opts) {
var badge_number = Ext.decode(response.responseText);
console.dir(badge_number);
},
failure: function(response, opts) {
console.log('server-side failure with status code');
}
});
var buttonsGroup1 = [{
text: 'Messages',
//badge_number variable from ajax request would go here. badgeText: '2',
handler: tapHandler
}];
答案 0 :(得分:1)
好的,我误读了这个问题。
因此,将徽章文字放在按钮上的最直接方法是创建closure。
var button = new Ext.Button({
text: 'Messages',
handler: tapHandler});
Ext.Ajax.request({
....
success: function(response, opts){
button.setBadge(Ext.decode(response.responseText));
}
...
});
这将导致在AJAX调用完成时更新徽章文本。然后,您可以像以前一样在AJAX请求代码之后将对象添加到面板或工具栏。
如果在创建之前必须在按钮上放置徽章文本,则需要在success函数内创建按钮组,并将其分配/添加到相应的容器对象中。