Sencha touch Ext.data.JsonP.request超时
我写了一个控制器。当我从视图中单击按钮时,此控制器通用“按钮”的调用如下所示:Sencha touch Ext.data.JsonP.request超时,sencha-touch,Sencha Touch,我写了一个控制器。当我从视图中单击按钮时,此控制器通用“按钮”的调用如下所示: 'button': { tap: function() { Ext.data.JsonP.request({ url: 'http://download.finance.yahoo.com/d/quotes.csv', params: {
'button': {
tap: function() {
Ext.data.JsonP.request({
url: 'http://download.finance.yahoo.com/d/quotes.csv',
params: {
s: '^BSESN',
f: 'nsl1op'
},
callbackKey: 'callback',
scope: this,
success: function( res, req ) {
Ext.example.msg('Sucess!', 'CSV file successfully generated.');
Ext.data.StoreManager.get('Files').load();
},
failure: function( res, req ) {
console.log('Failed to load csv file.');
}
});
....
....
....
它超时,失败称为“加载csv文件失败”
我使用的原始URL是“http://download.finance.yahoo.com/d/quotes.csv?s=^BSESN&f=nsl1op”
我想知道哪里出了问题。您正在通过JSONP请求CSV文件 该文件将通过“”标记注入DOM(这是JSONP的工作方式),但由于它不是有效的JavaScript文件,因此您的回调(
callbackKey:'callback'
)永远不会执行,因此Sencha Touch将触发超时处理程序,因为回调没有被注入的
标记触发
您可能需要将URL更改为实际上是JSONP(包含在回调中的iow有效JavaScript),而不是CSV文件