通过 Ajax 页面跳转保留状态

之前在工作中遇到一个问题,那就是使用 ajax 进行页面跳转后,没办法通过 url 再次进入,只能通过点击按钮才可以,在使用中很不方便,今天写另外一个项目时,心血来潮,想啃一啃这块骨头,最后发现肉还是很多的,好了废话不多说,开始讲具体的解决方案。

URL 通常由一下几个部分构成: 协议:// 域名/路径?参数#哈希值

在进行请求的时候,#哈希 这部分只做本地处理,不会上传到服务器,因此,我就拿哈希进行开刀。

接下来,我们可以通过页面完成加载时触发的一个函数进行 url 中哈希的处理,通过判断哈希值,来决定是否进行 ajax 的更新,跳到指定的页面上,这里可以使用 jQuery 的 $(document).ready(function(){...}); 进行,也可以使用 js 原生的方法,看大家的喜好。

最后就是一些细节的处理了,如用户可能手动改哈希,导致页面无法跳转,这些问题解决后,就实现了想要的功能了。

PS:很多前端路由,尤其是无刷新的那种,都是这种思路进行解决的。

❂ 浪漫一夏

世界上最美妙的莫过于此,在不谙世事的年纪,对生活的全部期待就是绚烂的理想本身。 by 赫恩曼尼

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180420G1YJCT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券