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
问题在于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
相关文章推荐
- 缓存引起的session问题(ajax,js,jquery,asp.net,C#)
- ajax缓存问题
- ajax中出现中文乱码和缓存的问题的解决方法
- Ajax缓存问题的解决方法汇总
- 使用redis集群+tomcat缓存共享下session丢失问题产生原因以及解决
- 【ajax】Ajax同步异步问题/async/‘values below was evaluated just now’
- php中ajax中session跨页传递问题
- 浅谈Ajax解决浏览器的缓存问题
- ExtJs 中 Ajax 连接超时设置与问题排查
- IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决
- 简单解决AJAX在IE中的缓存问题
- Ajax跨域请求保证同一个session的问题
- ajax 缓存 问题 requestheader
- ajax的缓存问题
- extjs的ajax请求json解析时引号问题
- IE8,9下的ajax缓存问题
- ajax缓存问题
- Ajax 在IE浏览器中的缓存问题
- IE浏览器中ajax使用缓存数据的问题
- Ajax 缓存问题