欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

頁(yè)面間固定參數(shù),通過(guò)cookie傳值的實(shí)現(xiàn)方法

 更新時(shí)間:2017年05月31日 09:10:35   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇頁(yè)面間固定參數(shù),通過(guò)cookie傳值的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

最后在做的頁(yè)面,比如用戶數(shù)據(jù)(用戶頭像,名稱,年齡)這些信息,因?yàn)榇蟛糠猪?yè)面都要用,之前是通過(guò)url地址傳,另一頁(yè)面接收??紤]到這樣做會(huì)讓url過(guò)長(zhǎng),因此,嘗試使用cookie,把固定的值保存在cookie,其它頁(yè)面拿出來(lái)就可以使用。

在此之前,先寫通過(guò)url傳值與取值的過(guò)程。url通過(guò)跳轉(zhuǎn)頁(yè)面,給跳轉(zhuǎn)頁(yè)的url問(wèn)號(hào)后拼接參數(shù)的方法傳值:

//問(wèn)號(hào)后的userId / dialogId都是要傳的參數(shù)
//如果有多個(gè)參數(shù),就用“&”拼接
window.location.href = 'doctor_ask.html?userId=' + userId + "&dialogId=" + dialogId;

在doctor_ask.html頁(yè)面,把在url中的參數(shù)取下來(lái),要使用一個(gè)方法getQueryString(),其中有一個(gè)方法是用來(lái)獲取url中含有中文參數(shù)的:

/* 獲取url后的某一個(gè)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中中文參數(shù)的方法
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 "請(qǐng)選擇";
}

使用方法獲取參數(shù):

//調(diào)用方法獲取參數(shù),方法中的參數(shù)名是一個(gè)字符串
var userId = getQueryString('userId')

第二種,通過(guò)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>

在其中一個(gè)頁(yè)面,比如首頁(yè),將要保存的值存放在cookie.

如果僅是一個(gè)id,直接使用鍵值對(duì)的方法保存即可:

//將id保存在cookie
$.cookie('doctorId', '11916111-f2eb-11e4-b756-f40669963d49');
//從cookie中取出id
var doctorId = $.cookie('doctorId');

如果是多個(gè)值,需要將多個(gè)值放在對(duì)象中,保存這個(gè)對(duì)象:

//將多個(gè)值存放在對(duì)象中
var userData = {
  userId: "11916122-f2eb-11e4-b756-f40669963d49",
  patientName: "張麗",
  patientAge: 23,
  patientSex: "F"
}
//將這個(gè)對(duì)象保存在cookie,它的鍵是對(duì)象名稱,值為JSON.stirng(),目的是將這個(gè)對(duì)象解析為字符串,因?yàn)閏ookie的鍵與值都是字符串
$.cookie('userData' , JSON.stringify(userData));

如果在其它頁(yè)面使用這個(gè)cookie中對(duì)象,可以取出這個(gè)對(duì)象并將對(duì)象轉(zhuǎn)換為字符串

var userData = $.cookie('userData');
if(userData){
//JSON.parse() 將字符串解析為對(duì)象,方便使用
  userData = JSON.parse(userData);  
};

兩個(gè)知識(shí)點(diǎn):

//字符串解析為對(duì)象
JSON.parse(對(duì)象名稱);
//對(duì)象解析為字符串
JSON.stringify(對(duì)象名稱);

以上這篇頁(yè)面間固定參數(shù),通過(guò)cookie傳值的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論