Sencha touch Sencha2 JsonP将变量推送到面板

Sencha touch Sencha2 JsonP将变量推送到面板,sencha-touch,extjs4,extjs,sencha-touch-2,Sencha Touch,Extjs4,Extjs,Sencha Touch 2,我正在将我的应用程序从Sencha 1升级到Sencha 2,因为它可以更好地处理JSONP 我已经安装了我的应用程序,需要了解如何推送我的JSONP结果。 这是我的JSON请求 var tweet = Ext.data.JsonP.request({ url: 'https://api.twitter.com/1/statuses/user_timeline.json', params: { 'include_entities': true, '

我正在将我的应用程序从Sencha 1升级到Sencha 2,因为它可以更好地处理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
    },
});
但目前,如果我查看我的应用程序,我只会得到一个
未定义的
响应。
我已经验证了查询,并通过简化从
var tweet=i.text;
到
console.log(i.text)


您可以看到它将有一个已验证的结果

记住,在异步环境中,回调仅在使用后才会影响您的值。因此,类似这样的方法应该有效:

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);
}
});

这个解决方案似乎不起作用,您是否确实验证了它应该起作用的代码?您正在传递一个名为tweet.data.text的消息,该消息将不会产生任何结果,因为响应是(result),请确保留下有效的解决方案,因为我不知道您的结果实际返回的方式,或者您的环境是什么,这将不会100%有效。这将为你指明正确的方向。。。