extjs ajax 的同步问题
我用的是Extjs2.0.2,我写好了一个从后台服务器获取数据的方法,只有当这个方法执行完之后下面的程序才能正确运行,但是我发现这个Ext.Ajax.request();方法是异步的啊,还没等一些值赋完,就往下走了,举个简单的例子
function getNewsFromServer(){
Ext.Ajax.request({
url:'jsonTest.json',
success: function(resp,opts) {
alert(JSON.stringify(serverJsonObject));
}
});
}
getNewsFromServer();
alert("如何才让该条最后显示");
结果就是还没等getNewsFromServer方法执行完下面的程序就开始了,怎样才能使request变成同步的呢?不瞒大家说我,这个问题我从早晨到现在就一直没解决,奥对了你们千万别告诉我把下面的所有代码都放入success事件里面啊,因为我其他的地方还有调用这个方法的时候呢!求你们了!!!
extjs
request??同步
------解决方案-------------------- Ext.Ajax.request({ async : false, ....试试
------解决方案-------------------- Ext.Ajax.request({ sync:true)
------解决方案--------------------自己找下2.0.2的ext api看有没有设置为同步执行的,要不就放那些需要成功回调后的代码到回调函数中,最好是放回调中,同步执行会挂起代码执行,网速慢浏览器会假死,体验很差
function getNewsFromServer(){
Ext.Ajax.request({
url:'jsonTest.json',
success: function(resp,opts) {
alert(JSON.stringify(serverJsonObject));
//////////////////////
getNewsFromServer();
alert("如何才让该条最后显示");
}
});
}
//getNewsFromServer();
//alert("如何才让该条最后显示");
------解决方案--------------------http://blog.csdn.net/micro19890/article/details/8497752
在3.2中我使用了这个方法,希望可以帮到你。4.0.7中不可以使用,我在为这个版本的同步烦恼呢
------解决方案--------------------var store = new Ext.data.Store({
pageSize: limit,
//autoLoad: true,
proxy: {
type: 'ajax',
url: 'queryAction!getData?startDate=' + startDate + '&endDate=' +&n