我正在将我的应用程序从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
},
});
但是目前如果我查看我的应用,我只会得到undefined
回复。
我已经验证了查询,并通过简化切换此行来确保它的工作正常
var tweet = i.text;
至
的console.log(i.text);
您可以看到它会有验证结果
答案 0 :(得分: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);
}
});