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

前端之家收集整理的这篇文章主要介绍了页面间固定参数,通过cookie传值的实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最后在做的页面,比如用户数据(用户头像,名称,年龄)这些信息,因为大部分页面都要用,之前是通过URL地址传,另一页面接收。考虑到这样做会让url过长,因此,尝试使用cookie,把固定的值保存在cookie,其它页面拿出来就可以使用。

在此之前,先写通过url传值与取值的过程。url通过@R_767_404@面,给@R_767_404@的url问号后拼接参数的方法传值:

页面,把在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.

如果仅是一个id,直接使用键值对的方法保存即可:

如果是多个值,需要将多个值放在对象中,保存这个对象:

名称,值为JSON.stirng(),目的是将这个对象解析为字符串,因为cookie的键与值都是字符串 $.cookie('userData',JSON.stringify(userData));

如果在其它页面使用这个cookie中对象,可以取出这个对象并将对象转换为字符串

两个知识点:

名称); //对象解析为字符串 JSON.stringify(对象名称);

以上这篇页面间固定参数,通过cookie传值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

猜你在找的JavaScript相关文章