session缓存及extjs的ajax的async的问题

来源:互联网 发布:手机淘宝取消合并付款 编辑:程序博客网 时间:2024/05/16 02:32

1,再做一个关于EXTJS的项目的时候,发现一个问题,用户名和性别更新过后数据库已经修改,而关闭窗口再打开却显示原先的数据。注销登录后就可以了。

问题在于action中这句话:

UserInfoVo userInfoVo = getSessionContainer(request).getUserInfo();

//        userInfoDto.put("name", userInfoVo.getUsername());

//        userInfoDto.put("sex", userInfoVo.getSex());

这两句话导致了session缓存的原因。我们要注意一些需要变更的内容等等要视环境决定能不能从session中获取。除非session 注销,才会有新的session,其中数据才会更新。


2,解决这个问题的过程中我误以为是ajax的async同步的问题导致。(其实毫无关系)。

下面分享一下实际中关于EXTJS的ajax的async问题。

貌似extjs的3.X的版本request是不支持async的(只是貌似,具体不清楚)。

那么如果非要async呢?我们就不能通过Ext.Ajax.request来操作了。我们可以走一个更加底层的方法Ext.lib.Ajax.getConnectionObject().conn


var conn = Ext.lib.Ajax.getConnectionObject().conn;  

var url = “XXXXXXXXXXXX”;

conn.open("GET",url,false);  

conn.send(null);  


注意这个方法需要引入一个文件 ext-basex.js 我上传到我的资源里了。

至于返回的数据则是conn.responseText




0 0