页面间固定参数,通过cookie传值的实现方法


Posted in Javascript onMay 31, 2017

最后在做的页面,比如用户数据(用户头像,名称,年龄)这些信息,因为大部分页面都要用,之前是通过url地址传,另一页面接收。考虑到这样做会让url过长,因此,尝试使用cookie,把固定的值保存在cookie,其它页面拿出来就可以使用。

在此之前,先写通过url传值与取值的过程。url通过跳转页面,给跳转页的url问号后拼接参数的方法传值:

//问号后的userId / dialogId都是要传的参数
//如果有多个参数,就用“&”拼接
window.location.href = 'doctor_ask.html?userId=' + userId + "&dialogId=" + dialogId;

在doctor_ask.html页面,把在url中的参数取下来,要使用一个方法getQueryString(),其中有一个方法是用来获取url中含有中文参数的:

/* 获取url后的某一个query的值 */
function getQueryString( name ) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
  var context = "";
  if (r != null)
  context = r[2];
  reg = null;
  r = null;
  return context == null || context == "" || context == "undefined" ? "" : context;
}

//获取Url中中文参数的方法
function getQueryUrlString(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  var r = window.location.search.substr(1).match(reg);
  if(r != null) {
    return decodeURI(r[2]);
  }
  return "请选择";
}

使用方法获取参数:

//调用方法获取参数,方法中的参数名是一个字符串
var userId = getQueryString('userId')

第二种,通过cookie方法传值,我这里使用的是jQuery cookie,因此需要先加载jQuery与cookie:

<!--使用cookie-->
<script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
<script src="http://code.changer.hk/jquery/plugins/jquery.cookie.js"></script>

在其中一个页面,比如首页,将要保存的值存放在cookie.

如果仅是一个id,直接使用键值对的方法保存即可:

//将id保存在cookie
$.cookie('doctorId', '11916111-f2eb-11e4-b756-f40669963d49');
//从cookie中取出id
var doctorId = $.cookie('doctorId');

如果是多个值,需要将多个值放在对象中,保存这个对象:

//将多个值存放在对象中
var userData = {
  userId: "11916122-f2eb-11e4-b756-f40669963d49",
  patientName: "张丽",
  patientAge: 23,
  patientSex: "F"
}
//将这个对象保存在cookie,它的键是对象名称,值为JSON.stirng(),目的是将这个对象解析为字符串,因为cookie的键与值都是字符串
$.cookie('userData' , JSON.stringify(userData));

如果在其它页面使用这个cookie中对象,可以取出这个对象并将对象转换为字符串

var userData = $.cookie('userData');
if(userData){
//JSON.parse() 将字符串解析为对象,方便使用
  userData = JSON.parse(userData);  
};

两个知识点:

//字符串解析为对象
JSON.parse(对象名称);
//对象解析为字符串
JSON.stringify(对象名称);

以上这篇页面间固定参数,通过cookie传值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
javascript制作的滑动图片菜单
May 15 Javascript
Javascript removeChild()删除节点及删除子节点的方法
Dec 27 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
Aug 29 Javascript
详解浏览器渲染页面过程
Feb 09 Javascript
Jquery-data的三种用法
Apr 18 jQuery
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
基于react框架使用的一些细节要点的思考
May 31 #Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
May 31 #Javascript
使用原生js写ajax实例(推荐)
May 31 #Javascript
Javascript创建类和对象详解
May 31 #Javascript
Javascript继承机制详解
May 30 #Javascript
Vue2.x中的Render函数详解
May 30 #Javascript
jQuery实现动态删除LI的方法
May 30 #jQuery
You might like
咖啡与水的关系
2021/03/03 冲泡冲煮
关于php内存不够用的快速解决方法
2013/10/26 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
python聊天程序实例代码分享
2013/11/18 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
影视艺术学院毕业生自荐信
2013/11/13 职场文书
会计专业自我鉴定
2014/02/10 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang