页面间固定参数,通过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 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
奉献给JavaScript初学者的编写开发的七个细节
Jan 11 Javascript
JS继承 笔记
Jul 13 Javascript
Highcharts 非常实用的Javascript统计图demo示例
Jul 03 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
Aug 08 Javascript
js中DOM三级列表(代码分享)
Mar 20 Javascript
js时间查询插件使用详解
Apr 07 Javascript
详解vue组件开发脚手架
Jun 15 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
Apr 10 Javascript
vue 调用 RESTful风格接口操作
Aug 11 Javascript
利用js canvas实现五子棋游戏
Oct 11 Javascript
详解Vue的mixin策略
Nov 19 Vue.js
基于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
thinkphp学习笔记之多表查询
2014/07/28 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
简单了解Django项目应用创建过程
2020/07/06 Python
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
校园广播稿500字
2014/02/04 职场文书
教师个人鉴定材料
2014/02/08 职场文书
店面销售职位的职责
2014/03/09 职场文书
运输服务质量承诺书
2014/03/27 职场文书
球队口号
2014/06/18 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
python神经网络Xception模型
2022/05/06 Python