JS AJAX实现后退、前进和刷新 的解决方案与实现机制


提这个问题,就已经想到了可能会挨扁,这个问题太 ....

但一直一来,前端AJAX 我个人觉得始终存在3个问题是大家最喜欢问的...

  1. 实现后退、前进和刷新
  2. 如何实现长连接
  3. 如何兼容各浏览器

3 这个问题基本已经解决,在普遍前端开发框架繁荣的背后,这个问题悄然落水...

2 呢 已经被问了,1 我在德问 搜索,有2个类似的问题:

@浪际天涯 @ajax前进和后退问题

@小白 @Javascript 如何监听浏览器前进后退键改变url hash的方法?

但是 都缺少 刷新之后的解决方案...

我也经常关注前端js知识,看到 网上有相关的方案,但是对里面的实现机制并不怎么理解,请大家帮忙 讲解啊

Ajax php JavaScript

罗玉凤的男人 12 years ago

如果刷新需要保持停留在当前页面Ajax加载的信息的话,你只需要把和当前通过Ajax加载的内容保存到Cookie(或者是或者HTML5的localStorage里),然后当刷新后如果Cookie里已经保存了这些信息就直接从Cookie里取出来填充到当前页里,否则就通过Ajax去服务器端获取信息。

如果考虑到当前Ajax加载的内容过大,Cookie里无法保存,那也可以保存当前Ajax的相关信息(如:id值),然后当刷新的时候先去Cookie里取出这些相关信息,再把这些信息通过Ajax去传到服务器端取出内容后填充到当前页面元素中。

无数的小明 answered 12 years ago

Your Answer