浏览 301 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-16
遇到这样一个问题:
父页面弹出子窗口,子窗口的Action要执行数据插入操作,在子窗口submit后按惯例刷新父页面。子窗口的部分JS如下: form.submit(); window.close(); window.dialogArguments.loadFree(); loadFree() 方法为父页面局部刷新的方法,该方法发送xmlHttpRequest请求,并解析返回的XML然后显示为HTML。xmlHttpRequest采用类似线程池的方法解决并发问题,并在URL上加了随机数解决缓存的问题。 现在的问题是: 子窗口的XXAction执行Insert或者Update操作的过程中,loadFree()方法的URL对应的YYAction已经开始做查询操作, 并有可能在XXAction的Insert或者Update操作Commit之前完成,这样YYAction返回的XML不是最新数据, 前台父页面展示的数据也不是最新数据。 曾想采用定时器延迟执行loadFree(),但感觉不是很好。 请问这里有什么更好的解决办法? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2008-04-16
大家有什么好的建议吗?是问题太简单了?
|
|
| 返回顶楼 | |
|
时间:2008-04-16
将弹出窗口改为层,呵呵,不知道这样会不会改动很多的东西~~
|
|
| 返回顶楼 | |
|
时间:2008-04-17
可是用层也无法保证YYAction的select在XXAction的Insert提交之后才去查询。
|
|
| 返回顶楼 | |
|
时间:2008-04-17
把form.submit()改成用ajax提交,在提交成功的回调函数里面执行
window.dialogArguments.loadFree(); window.close(); |
|
| 返回顶楼 | |
|
时间:2008-04-17
1.子窗口为loadFree()方法设置定时器?
2.子窗口不提交表单,而是由父窗口代为提交? |
|
| 返回顶楼 | |
|
时间:2008-04-17
Quake Wang 写道 把form.submit()改成用ajax提交,在提交成功的回调函数里面执行
window.dialogArguments.loadFree(); window.close(); 很感谢你的建议,确实不错。 |
|
| 返回顶楼 | |




