返回上一页,ajax读出来的数据丢失。
在写项目的时候遇到这样一个问题,一个类似电商的,根据类别、品牌、年份等查商品,点击查询按钮通过ajax查询出的。查出来之后点击图片跳转到商品详情页,这时候再返回到商品查询页时,之前ajax读出来的数据会丢失(丢失的主要是通过事件查出来的数据),页面会回到刚进入这个页面时的状态。
解决方案:
1、如果是pc端,直接用window.open(),或者aget="_blank"打开新页面。
2、如果是移动端,可以用HTML5本地存储(web Storage)中的localStorage和sessionStorage将整个页面的数据存储在客户端本地。
localStorage: localStorage的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据。
sessionStorage:sessionStorage 的生命周期是在浏览器关闭前。也就是说,在整个浏览器未关闭前,其数据一直都是存在的。
localStorage和sessionStorage的主要方法:
setItem (key, value) —— 保存数据,以键值对的方式储存信息。
getItem (key) —— 获取数据,将键值传入,即可获取到对应的value值。
removeItem (key) —— 删除单个数据,根据键值移除对应的信息。
clear () —— 删除所有的数据
key (index) —— 获取某个索引的key
该项目遇到的问题使用sessionStorage解决。以下为具体代码。
//点击跳转
function goDesc(){//跳转之前将局部页面保存到sessionStorage对象中。window.sessionStorage.setItem("myhtml",$("#shop_list").html());window.location.href="http://www.baidu.com";
}//页面刷新
window.onload=function(){//读取sessionStorage对象中的内容var myhtml= window.sessionStorage.getItem("myhtml");//不为空表示是返回上一步进入该页面的。if(myhtml!=null){//将sessionStorage对象中保存的页面添加到页面中$("#shop_list").html(myhtml);//清空sessionStorage对象的内容。window.sessionStorage.clear();}
}
注意:只要浏览器不关闭,sessionStorage中的内容是不会清空的,所以在添加完内容要手动清空内容。
返回上一页,ajax读出来的数据丢失。相关推荐
- h5中返回上一页常见的问题
1.返回上一页获取的数据不正确 需求: A --> B页面,B页面操作数据,返回A页面,A页面刷新数据并显示 问题 在pc的浏览器中B使用window.history.go(-1)实现页面的回退 ...
- ant PageHeaderWrapper 返回上一页
PageHeaderWrapper 返回上一页实现代码: <PageHeaderWrappertitle={false}content={<a onClick={() => rou ...
- Javascript 返回上一页
2019独角兽企业重金招聘Python工程师标准>>> 1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 2. ...
- js返回上一页并刷新代码整理 转
返回上一页并刷新在此功能有利于用户的体验,是每一个web开发人员所必备的一项,长话短说,今天介绍实现此功能的一个方法,需要了解的朋友可以参考下 一:JS 重载页面,本地刷新,返回上一页 复制代码 代码 ...
- js返回上一页并刷新代码整理
一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> ...
- javascript返回上一页的三种写法
window.history.go(-1); //返回上一页 window.history.back(); //返回上一页 window.location.go(-1); //刷新上一页 wind ...
- vue 实现返回上一页不请求数据keep-alive
常规操作: 我们通常会将通过接口请求数据的方法放在==created== 或者 ==mounted==这两个生命周期中的一个里面调用. 但是我们知道,不管是我们刚进入这个页面还是从其他页面返回这个页面 ...
- vue项目中阻止浏览器返回上一页
vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面 来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...
- js返回上一页并刷新
window.history.go(-1);//返回上一页不刷新 window.location.href = document.referrer;//返回上一页并刷新 转载于:https://www ...
- asp.net 返回上一页的实现方法小集
其实要实现这个功能主要还是要用到javascript 方法一: 在asp.net的aspx里面的源代码中 <input type="button οnclick="javas ...
最新文章
- GitHub分享《深度学习500问》优质资源
- CentOS Linux解决 Device eth0 does not seem to be present
- scrapy软连接失效和pip软连接失效
- 拆解交易系统--服务稳定性
- Centos7上yum安装redis
- 【 Sublime Text 】如何将Sublime Text与Vivado 2018.3关联?
- 关于gradle加快构建速度采用阿里云中央仓库的配置
- 畅捷通t+标准版操作手册_外网IP访问畅捷通T+教程
- 边缘触发(Edge Trigger)和条件触发(Level Trigger)
- Python的sort()
- kaggle房价预测特征意思_Kaggle实战-波士顿房价预测
- 开源Easydarwin流媒体服务器Windows编译、配置、部署
- 斐波那契数列及其优化
- “稳拿高薪”三个专业?实际市场竞争压力大,就业困难!
- OJ1041: 数列求和2(高阶递推)
- [转] TextField的restrict属性妙用
- Zotero | zotero与endnote题录与pdf文件的完整互转(2)
- java乐视面试题_java面试题经典解读
- linux系统下载18.04,在Ubuntu 18.04系统中下载安装Persepolis Download Manager
- myeclipse8.5 TPTP插件的使用问题