页面间固定参数,通过cookie传值的实现方法

 更新时间:2017年05月31日 09:10:35   投稿:jingxian  
下面小编就为大家带来一篇页面间固定参数,通过cookie传值的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最后在做的页面,比如用户数据(用户头像,名称,年龄)这些信息,因为大部分页面都要用,之前是通过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中的几种URL编码方法比较

    Javascript中的几种URL编码方法比较

    这篇文章主要介绍了Javascript中的几种URL编码方法比较,本文对比了escape()、encodeURI()以及encodeURIComponent()这3种URL编码方法,需要的朋友可以参考下
    2015-01-01
  • 异步安全加载javascript文件的方法

    异步安全加载javascript文件的方法

    这篇文章主要介绍了异步安全加载javascript文件的方法,实例分析了javascript实现文件异步加载的具体技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • echarts自定义饼图数据刷新和颜色渲染问题浅析

    echarts自定义饼图数据刷新和颜色渲染问题浅析

    这篇文章主要给大家介绍了关于echarts自定义饼图数据刷新和颜色渲染问题的相关资料,内容简明扼要并且容易理解,绝对能使你眼前一亮,需要的朋友可以参考下
    2023-05-05
  • 微信小程序实现左右联动

    微信小程序实现左右联动

    这篇文章主要为大家详细介绍了微信小程序实现左右联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • javascript下使用Promise封装FileReader

    javascript下使用Promise封装FileReader

    这篇文章主要介绍了javascript下使用Promise封装FileReader,需要的朋友可以参考下
    2016-02-02
  • JS导入本地json文件数据的三类方法举例讲解

    JS导入本地json文件数据的三类方法举例讲解

    作为一名刚入行的开发者,你可能会遇到需要在JavaScript中引用JSON文件的情况,下面这篇文章主要给大家介绍了关于JS导入本地json文件数据的三类方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • js中hasOwnProperty的属性及实例用法详解

    js中hasOwnProperty的属性及实例用法详解

    在本篇文章里小编给大家整理的是一篇关于js中hasOwnProperty的属性及实例用法详解内容,有需要的朋友们可以跟着学习下。
    2021-11-11
  • 小程序列表懒加载的实现方式

    小程序列表懒加载的实现方式

    懒加载,前端人都知道的一种性能优化方式,简单的来说,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来,这篇文章主要给大家介绍了关于小程序列表懒加载的实现方式,需要的朋友可以参考下
    2022-04-04
  • Electron实现文件复制到剪切板的方案

    Electron实现文件复制到剪切板的方案

    这篇文章主要介绍了Electron实现文件复制到剪切板的解决方案,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-11-11
  • 如何使用ImageDecoder API让GIF图片暂停播放

    如何使用ImageDecoder API让GIF图片暂停播放

    在本文中,我们介绍了如何使用ImageDecoder API来暂停GIF图像的播放,虽然这需要一些JavaScript编程知识,但它是一个非常强大的技术,可以让您对GIF图像进行各种高级操作,感兴趣的朋友跟随小编一起看看吧
    2023-06-06

最新评论