锁定老帖子 主题:如果使用AJAX,如何解决这些问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-08-25
2、用户点击回退按钮,怎么处理。看了好多AJAX的demo,没一个能处理好的 3、恕我无知,浏览器段JS中好像没有线程管理的概念,如果我创建多个异步XHR完成不同的任务,如何保证当前context中的数据的独占或者lock? 言不达意之处,请包涵 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-08-25
copenhagen 写道 1、用户刷新当前页面,如何保证刷新后的页面与刷新前保持一致。在一个基于AJAX渲染出来的页面上,很多内容都是动态加到页面上的
2、用户点击回退按钮,怎么处理。看了好多AJAX的demo,没一个能处理好的 3、恕我无知,浏览器段JS中好像没有线程管理的概念,如果我创建多个异步XHR完成不同的任务,如何保证当前context中的数据的独占或者lock? 言不达意之处,请包涵 我接触ajax时间不长,凭我了解的,ajax对这些好像都不好处理。 不管怎样,这些东西在很多应用中不一定是重要的,或者尽可能缩小那些的影响。如果非要关心这些,可能试着自己去处理,如3.自己可以模仿thread的lock,设计个锁,然后每次xhr结果时操作共享数据时先获得锁,完了再释放 |
|
返回顶楼 | |
发表时间:2005-08-25
copenhagen 写道 2、用户点击回退按钮,怎么处理。看了好多AJAX的demo,没一个能处理好的
老问题了,搜索一下“历史”+“IFrame”。 |
|
返回顶楼 | |
发表时间:2005-08-25
前两点以我现在的水平,还想不出有什么好办法,问问dlee喽,第三点有些勉强了吧,那你就同步呗,如果用ajax不能,那你回到原来的方式你怎么解决吧?
我的感觉是ajax并不能包含web开发的全部,比较适合企业软件的开发,如果你觉得ajax确实不能满足你的需求,那你就暂时回到原来的方式好了. 与其空泛的讨论,或者看一些简单的DEOM来寻求答案,倒不如坐下来写一些CODE或许收获更大。 |
|
返回顶楼 | |
发表时间:2005-08-25
1、无法解决。因为浏览器刷新后,会完全抛弃内存中原有的所有对象,而 JavaScript 无法访问本地资源(文件系统、数据库、etc.),因此无法把这些状态保存下来。
一个解决方案是设置一个 onunload 事件函数,在浏览器执行刷新动作前会调用,将 JavaScript 的状态通过 XMLHTTP/IFrame 上传到服务器,服务器负责保存这些状态。浏览器刷新后,再调用 onload 事件函数通过 XMLHTTP/IFrame 向服务器请求这些数据,并且恢复刷新前的状态。 3、对每个需要保护的内容,设置一个 flag,实现排它锁的机制。 |
|
返回顶楼 | |
发表时间:2005-08-25
其实1完全是吹毛求疵,不是问题的问题,没事找事。
道理很简单,C/S系统中就一定有你这样的吗?如果只是在界面动态修正的数据(状态A),你C/S系统(或者其它任何系统)如果不是刻意去做根本不会说在重新进入这个功能(等同于刷新)的时候进入A状态,你仔细想,什么情况下会需要这样的功能,什么样的系统会需要这样的功能? |
|
返回顶楼 | |
发表时间:2005-08-25
可以自己实现历史管理(像application一样的东西)
|
|
返回顶楼 | |
发表时间:2005-08-26
copenhagen 写道 1、用户刷新当前页面,如何保证刷新后的页面与刷新前保持一致。在一个基于AJAX渲染出来的页面上,很多内容都是动态加到页面上的
2、用户点击回退按钮,怎么处理。看了好多AJAX的demo,没一个能处理好的 3、恕我无知,浏览器段JS中好像没有线程管理的概念,如果我创建多个异步XHR完成不同的任务,如何保证当前context中的数据的独占或者lock? 言不达意之处,请包涵 这些不应该全算是AJAX的问题,因为你是在沿袭传统设计的思维,然后希望AJAX能提供解决方案。AJAX是希望设计师们利用AJAX改良设计。 关与第一条,以前有一种常见的做法就是弹出无工具栏的新窗做为主界面,同时屏蔽掉F5键。 第二条也是类似,同时屏蔽掉右键,只允许使用本系统提供的Back。 第三条则包含业务逻辑,自然是要自己编程解决。 还是那句话,改良设计! |
|
返回顶楼 | |
发表时间:2005-10-20
我感觉并发问题尽量使用java框架去做好些,ajax牵扯过多的并非控制程序,会使维护变得臃肿不堪,怎么说ajax也只不过是一个最表现层的技术,使用的太夸张就带来了没有必要的复杂!
|
|
返回顶楼 | |
发表时间:2005-10-27
Gmail在IE中是可以后退的,在firefox和opea的后退都不好用,有人了解Gmail中用到的ajax的架构吗?
|
|
返回顶楼 | |