【发布时间】:2013-04-25 03:00:00
【问题描述】:
最近,我已将 xmlHTTPRequest 替换为我的 Web 服务调用的 JSONP 请求,但我发现我收到了错误。我可以看到 JSONP 有点慢。
initialize:function(){
this.callParent();
var jsonObject = Ext.create('MyProj.library.webservice').makeJSONPRequest('top_categories_json');
Ext.getCmp('categoryList').setData(jsonObject.info);
console.log(jsonObject.info);
}
makeJSONPRequest: function(urlx, postparams) {
Ext.data.JsonP.request({
params:{
params: Ext.JSON.encode(postparams)
},
success: function(result) {
console.log('JSON RES');
console.log(result.info);
if (result) {
//return JSON.parse(result);
return result;
} else {
Ext.Msg.alert('Error', 'There was an error retrieving the weather.');
}
}
});
}
我可以看到在执行makeJSONPRequest 调用后,它执行下一个stateemnt 而不等待JSONP 请求完成,所以jsonObject 变得未定义。在该错误之后,JSONP 请求完成并打印该值。无论如何要暂停主线程,直到 JSONP 请求完成。
【问题讨论】:
标签: extjs sencha-touch sencha-touch-2 jsonp