HTML5 使用 sessionStorage 进行页面传值的方法


Posted in HTML / CSS onJuly 02, 2018

HTML5 提供的本地存储功能,使得web应用可以将数据存储在用户的本地浏览器。在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

在客户端存储的方法有两种:
1. localStorage: 没有时间限制的存储,而且容量大,至少5M大小;所有相同域名的页面都可以存储和获取相同的数据。
2. sessionStorage: 针对一个session的数据存储,该tab关掉就会消失。

目前大部分浏览器都已经很好地支持了 HTML5 ,但了为安全,使用前还是应该做客户端检测:

if (typeof(Storage) !== "undefined") {
    // Code for localStorage/sessionStorage.
} else {
    // Sorry! No Web Storage support..
}

之所以会使用到这个功能,是因为我目前在做的一个数据型网站,要通过API接口查询参数传给后台,并获取数据库中返回的数据。而这里有一个问题,我要在页面 a 跳转到页面 b,然后在页面 b 调用API 接口将参数数据传给后台并获取数据,而该参数数据是在页面 a 获得的,那么如何将页面 a 产生的值传递给页面 b 呢?

假设我们要传给后台的值和数据格式是: {unitGroup:["一年级","二年级","三年级"];

那么在页面 a 生成了我们所需要的数据 unitGroup 后,则使用 sessionStorage:

if (typeof(Storage) !== "undefined") {
    sessionStorage["unitGroup"] = data.unit.value;
} else {
    sessionStorage["unitGroup"] = '';
}

然后在页面 b 就可以通过以下语句获取:

var unit_group = '';
if (typeof(Storage) !== "undefined") {
    var myunits = sessionStorage["unitGroup"];
    unit_group = myunits.split(",");
}

然后即可调用 ajax 将数据传给后台:

var newData = {unitGroup: unit_group};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
HTML+CSS3 模仿Windows7 桌面效果
Jun 17 HTML / CSS
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
Feb 07 HTML / CSS
CSS3实现的炫酷菜单代码分享
Mar 12 HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 HTML / CSS
input元素的url类型和email类型简介
Jul 11 HTML / CSS
Javascript 高级手势使用介绍
Apr 21 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
Jul 19 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
Dec 27 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
Jul 10 HTML / CSS
Unicode中的CJK(中日韩统一表意文字)字符小结
Dec 06 HTML / CSS
div与span之间的区别与使用介绍
Dec 06 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 HTML / CSS
canvas三角函数模拟水波效果的示例代码
Jul 03 #HTML / CSS
你可能不熟练的十个前端HTML5经典面试题
Jul 03 #HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
Jul 09 #HTML / CSS
canvas绘制表情包的示例代码
Jul 09 #HTML / CSS
html5 利用canvas手写签名并保存的实现方法
Jul 12 #HTML / CSS
详解Html5微信支付爬坑之路
Jul 24 #HTML / CSS
基于Html5实现的react拖拽排序组件示例
Aug 13 #HTML / CSS
You might like
文件上传程序的全部源码
2006/10/09 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
python+django加载静态网页模板解析
2017/12/12 Python
浅谈django orm 优化
2018/08/18 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
2019年.net常见面试问题
2012/02/12 面试题
主治医师岗位职责
2013/12/10 职场文书
2014年大班元旦活动方案
2014/02/26 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
中学生检讨书1000字
2014/10/28 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
辞职信如何写
2015/02/27 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
python分分钟绘制精美地图海报
2022/02/15 Python
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android