Как получить ajax-запрос в переменную в sencha touch? - PullRequest
0 голосов
/ 21 июня 2011

То, что я пытаюсь сделать, - это получить информацию, которую я имею в своем запросе 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 Ответ

1 голос
/ 21 июня 2011

Ах, хорошо, я неправильно понял вопрос.

Так что самый простой способ поместить текст значка на кнопку - это создать замыкание .

var button = new Ext.Button({
  text: 'Messages',
  handler: tapHandler});

Ext.Ajax.request({
  ....
  success: function(response, opts){
     button.setBadge(Ext.decode(response.responseText));
  }
  ...
});

Это приведет к обновлению текста значка после завершения вызова AJAX.Затем вы можете добавить объект на панель или панель инструментов после кода запроса AJAX, как вы это делали раньше.

Если вам абсолютно необходимо иметь текст значка на кнопке перед его созданием, вам нужно будет создатьгруппу кнопок внутри функции успеха и назначьте / добавьте ее к соответствующему объекту контейнера.

...