我不熟悉sencha touch 2.我無法設置我的qrCodeHtml變量並在JsonP請求之外使用它。我知道所有這些代碼的工作原理除了能夠設置qrCodeHtml變量。請幫我做到這一點:Sencha Touch:如何在JsonP請求中設置變量
onMyProfileCommand: function() {
var api_username = "o_xxxxx";
var api_key = "R_xxxxxxxxxx";
var long_url = "http://google.com";
var qrCodeHtml = '';
Ext.data.JsonP.request({
url: 'https://api-ssl.bitly.com/v3/shorten',
callbackKey: 'callback',
params: {
login: api_username,
apiKey: api_key,
longUrl: long_url
},
success: function (result, request) {
var shortUrl = result.data.url;
qrCodeHtml = '<div style="font-size:15px; margin-bottom:5px;">Friends can scan this to <a href="' + shortUrl +
'" style="color:inherit; text-decoration:none; font-weight:bold;">view your profile!</a></div><img src="' +
shortUrl + '.qrcode" style="height:110px; width:110px;" />';
}
});
this.getLblQrCodeHtml().setData({ QrCodeHtml: qrCodeHtml });
Ext.Viewport.animateActiveItem(this.getProfileView(), this.slideLeftTransition);
}
很好的建議。我試過了,我收到了這個錯誤:Uncaught TypeError:Object [object Window]沒有方法'getLblQrCodeHtml'(我得到了getProfileView()的同樣的錯誤)由於某些原因,這些對象是不可訪問的。 – James
完美,正是我所需要的!我在下面發佈瞭解決方案。 – James