页面间固定参数,通过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 相关文章推荐
IE与firefox之jquery用法区别
Oct 03 Javascript
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
AngularJS+Bootstrap实现多文件上传与管理
Nov 08 Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 Javascript
angular4自定义组件详解
Sep 28 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
javascript代码优化的8点总结
Jan 29 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 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
4.与数据库的连接
2006/10/09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
详解javascript遍历方式
2015/11/11 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
Python进阶篇之字典操作总结
2016/11/16 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
大学班级计划书
2014/04/29 职场文书
提拔干部考察材料
2014/05/26 职场文书
法人代表任命书范本
2014/06/05 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
聊聊Python String型列表求最值的问题
2022/01/18 Python