2012-03-14 48 views
0

我正在將我的應用從Sencha 1升級到Sencha 2,因爲它處理JSONP的事實好得多。Sencha2 JsonP將變量推送到面板

我有我的應用程序設置,並需要找出我如何推動我的JSONP結果。 這裏是我的JSON請求

var tweet = Ext.data.JsonP.request({ 
    url: 'https://api.twitter.com/1/statuses/user_timeline.json', 
    params: { 
     'include_entities': true, 
     'screen_name': 'NynasBo', 
     'count': 1 
    }, 
    callbackKey: 'callback', 
    success: function(data) { 
     Ext.each(data, function(i, item) { 
      var tweet = i.text; 
     }); 
    } 
}); 

這裏是我試圖將其推過的功能。

var contact = Ext.define('Nynas.view.Contact', { 
    extend: 'Ext.Panel', 
    xtype: 'contactcard', 

    config: { 
     title: 'Contact', 
     styleHtmlContent: true, 
     html: '' + tweet.success.tweet 
    }, 
}); 

但目前如果我查看我的應用程序,我只是得到undefined響應。 我已驗證查詢,並通過簡單地將此行從 var tweet = i.text; 至 console.log(i.text);

你可以看到它會有一個驗證的結果

回答

0

請記住,在異步環境中,回調會影響它已被用於後才你的價值。所以像這樣的東西應該工作:

Ext.define('Nynas.view.Contact', { 
extend: 'Ext.Panel', 
xtype: 'contactcard', 

config: { 
    title: 'Contact', 
    styleHtmlContent: true, 
    html: ' ' 
}, 
}); 

var contact = Ext.create('Nynas.view.Contact'); 

var tweet = Ext.data.JsonP.request({ 
url: 'https://api.twitter.com/1/statuses/user_timeline.json', 
params: { 
    'include_entities': true, 
    'screen_name': 'NynasBo', 
    'count': 1 
}, 
callbackKey: 'callback', 
success: function(result) { 
    contact.setHtml(result.data.text); 
} 
}); 
+0

此解決方案似乎不工作,你真的驗證它應該工作的代碼?你傳遞了一個叫做tweet.data.text的東西,這將不會導致任何結果,因爲響應是(結果)請確保留下有效的解決方案 – ApPeL 2012-03-14 13:52:47

+0

因爲我不知道你的結果如何返回,或者你的環境是什麼,不會有效100%。這應該指出你在正確的方向,但... – Alex 2012-03-14 14:15:58

相關問題