页面间固定参数,通过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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
Nov 02 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
Jun 22 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
canvas知识总结
Jan 25 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
微信小程序数字滚动插件使用详解
Feb 02 Javascript
在Web关闭页面时发送Ajax请求的实现方法
Mar 07 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 Javascript
基于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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
Python 返回汉字的汉语拼音
2009/02/27 Python
python开发中module模块用法实例分析
2015/11/12 Python
python爬取51job中hr的邮箱
2016/05/14 Python
详解python中*号的用法
2019/10/21 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
详解python中的闭包
2020/09/07 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
自荐信格式简述
2014/01/25 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2015年征兵工作总结
2015/07/23 职场文书
初三语文教学反思
2016/03/03 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
Pillow图像处理库安装及使用
2022/04/12 Python