您的位置:首页 > Web前端 > JavaScript

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

2015-05-05 23:01 295 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: