如何将ajax请求转换为sencha touch中的变量?

时间:2011-06-21 16:01:40

标签: ajax sencha-touch extjs

我要做的是获取我在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
    }]; 

1 个答案:

答案 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函数内创建按钮组,并将其分配/添加到相应的容器对象中。