需要读取形成ajax请求的多个json对象。我使用下面给出的代码。它花了太长时间。所以在此代码之前执行其他代码。
var allVisitStore = new Ext.data.Store({
model: 'allVisit',
autoLoad : true,
proxy: {
type: 'ajax',
id: 'allvisit_app_localstore',
url: '/RadMobApp/api',
extraParams:{
action:'test',
queryName:'GET_ALL_TEST',
username:'1234',
password:'1234',
retFormat:'XML',
patTicketId: '4098'
keyValuePair:'yes'
},
// the return will be XML, so lets set up a reader
reader: new Ext.data.XmlReader({
// records will have an "T4" tag
record: 'data'
})
}
});
是否有上述
的替代方法答案 0 :(得分:0)
Sencha Touch中的所有Ajax请求,实际上ExtJS都是异步的。 当商店加载
时,您需要做任何您需要做的事情收听商店的“加载”事件,然后继续处理。
您可以在商店配置中添加一个侦听器,如下所示:
var allVisitStore = new Ext.data.Store({
model: 'allVisit',
autoLoad : true,
proxy: {
type: 'ajax',
id: 'allvisit_app_localstore',
url: '/RadMobApp/api',
extraParams:{
action:'query',
queryName:'GET_ALL_VISIT',
username:'superuser',
password:'superuser',
retFormat:'XML',
patTicketId: 'PAT-4098'
keyValuePair:'yes'
},
// the return will be XML, so lets set up a reader
reader: new Ext.data.XmlReader({
// records will have an "T4" tag
record: 'data'
}),
listeners : {
'load' : function(){
// call code here that should be run when the data has returned
}
}
}
或者像这样:
allVisitStore.on('load',function(){
// call code here that should be run when the data has returned
});