关于ajax异步请求因缓存导致数据错乱的问题

发布于 2021-12-03 11:38:15 字数 571 浏览 939 评论 2

后台环境:jfinal2.2

前台环境:左侧导航菜单,右侧main div的内容通过点击左侧菜单用ajax异步加载。采用浏览器cookie记录跟踪登录用户。ajax采用jquery的$.ajax方式,参数:type: "POST",async: false,cache: false,contentType: "application/x-www-form-urlencoded; charset=UTF-8"。

问题:使用chrome用a用户登录系统,点击“用户列表菜单”,后台对应的controller能接收到正常的请求,结果一切正常。同时在firefox中使用b用户登录系统,点击“用户列表菜单”,一切正常。但是,如果这时在chrome中再次点击“用户列表菜单”,后台对应的controller就不能接收到a用户的请求,但是chrome却接收到了b用户在firefox查询的结果,导致两个用户的数据混乱。

想法:搜索了ajax缓存相关的问题,有说使用post再加上cache:false就可以了,但是还是不行,是不是必须在url后面加上时间戳参数或随机数才行呢?有的说使用jquery的ajax,如果加了cache:false,url后会默认加时间戳参数的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流心雨 2021-12-04 06:48:03

为了跟dubbo配合使用,我们在实际用的时候也做了类似改造,把model作为一个专门承载数据的对象,数据库操作的方法拉到了独立的dao中,传统一点但是很好用。

醉生梦死 2021-12-04 02:18:30

回复
放到业务层中就很好,不用单独再建立dao层了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文