页面间固定参数,通过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 相关文章推荐
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
js编码、解码函数介绍及其使用示例
Sep 05 Javascript
JavaScript中获取时间的函数集
Aug 16 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 Javascript
jquery实现聊天机器人
Feb 08 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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
js回调函数仿360开机
2019/12/26 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
python re模块常见用法例举
2021/03/01 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
网游商务专员求职信
2013/10/15 职场文书
师生聚会感言
2014/01/26 职场文书
安全生产汇报材料
2014/02/17 职场文书
岗位职责怎么写
2014/03/14 职场文书
社区文化建设方案
2014/05/02 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
十八大标语口号
2014/10/09 职场文书
材料员岗位职责范本
2015/04/11 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
KTV员工管理制度
2015/08/06 职场文书
python编写函数注意事项总结
2021/03/29 Python
MySQL 字符集 character
2022/05/04 MySQL