页面间固定参数,通过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 相关文章推荐
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
解决jquery的datepicker的本地化以及Today问题
May 23 Javascript
Js 回车换行处理的办法及replace方法应用
Jan 24 Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 Javascript
jQuery动态增减行的实例代码解析(推荐)
Dec 05 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 Javascript
vue实现自定义多选与单选的答题功能
Jul 05 Javascript
vue过滤器用法实例分析
Mar 15 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
Vue根据条件添加click事件的方式
Nov 09 Javascript
vue通过过滤器实现数据格式化
Jul 20 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
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
详解php中反射的应用
2016/03/15 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
提高网站信任度的技巧
2008/10/17 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
快速创建python 虚拟环境
2020/11/28 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
英文简历中的自我评价
2013/10/06 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
团员个人年度总结
2015/02/26 职场文书
python中redis包操作数据库的教程
2022/04/19 Python