2012-05-03 2 views
3

У меня есть два API, которые я хочу использовать одновременно, API1 и API2.Извлечение нескольких API-интерфейсов с использованием ID

API2 доставляет новостные ленты в API1, в то время как API1 обрабатывает все содержимое в форме списка. Это означает, что, если щелкнуть любой список в API1, он будет извлекать новостные ленты из API2 с использованием идентификатора, который был определен.

Кто может помочь мне здесь? Я застрял. Снимок экрана моего кода находится здесь: http://i1159.photobucket.com/albums/p637/Apulo_Cosmas/2API.jpg

Большое спасибо.

+0

Похоже, вам нужно подключить событие * click * и передать * contentId *, но это сложно сказать. Можете ли вы предоставить дополнительную информацию? Вы используете какой-нибудь Javascript, который вы могли бы разместить? – McGarnagle

+0

Привет, dbaseman, образец моего кода здесь. Я печатаю экран для правильного понимания: http://i1159.photobucket.com/albums/p637/Apulo_Cosmas/2API.jpg –

+0

Спасибо, но это только некоторые JSON, я до сих пор не понимаю, как работает ваш код. Используете ли вы какую-то структуру (MVC?). Как вы передаете ленту новостей в разметку? – McGarnagle

ответ

0

Это может быть проще, если вы вручную прослушаете свой список (который извлекается из API 1) itemtap.

В контроллере, есть должно быть что-то вроде:

refs: { 
    bloglist: 'blog list' 
}, 

control: { 
    bloglist: { 
    itemtap: 'fetchAPI2' 
    } 
}, 
fetchAPI2: function (list,index,target,record){ 
    id = record.get('contentId'); //this is your id for using API2. 
    Ext.data.JsonP.request({ 
      scope: this, 
      url: API2_URL, 
      callbackKey: 'callback', 
      params: {your params for API2 here}, 

      callback: function(success,result) { 
          // whatever you want to do here 
      }   
     }); 
} 
+0

привет Thiem Nguyen, я все еще запутался, в какой части моего кода я должен вставить код, который вы мне дали? помогите мне с PLS: –

+0

любой контроллер, который вы хотите –

+0

Привет, Тим, я не против контроллера, все, что я хочу, это позволить захватить точный контент с помощью идентификатора contentID. но я не знаю, как скомпоновать код, который вы дали мне, чтобы мои собственные коды, чтобы заставить его работать –

1

За документации Сенча здесь (под Рытье В): http://docs.sencha.com/touch/2-0/#!/guide/first_app

Вы должны добавить слушателя и детали панели на ваша конфигурация, используя этот код (ссылка на contentId не нужна, вам просто нужно потянуть описание - содержащее содержание - от исходного фида):

detailCard: { 
    xtype: 'panel', 
    scrollable: true, 
    styleHtmlContent: true 
}, 

listeners: { 
    itemtap: function(nestedList, list, index, element, post) { 
     this.getDetailCard().setHtml(post.get('description')); 
    } 
} 
+0

Спасибо за ответ dbaseman, int this this example, http://docs.sencha.com/touch/2-0/#!/guide/first_app в этом примере, они вызывают один API, который все свойство описания и все в одном и том же API. в моем собственном случае у меня есть второй API, второй API содержит описание для первого API ... когда вы нажимаете на список в API1, идентификатор contentID должен иметь возможность перейти к API2 и получить необходимую информацию. –

Смежные вопросы