頁面間固定參數(shù),通過cookie傳值的實(shí)現(xiàn)方法
最后在做的頁面,比如用戶數(shù)據(jù)(用戶頭像,名稱,年齡)這些信息,因?yàn)榇蟛糠猪撁娑家茫笆峭ㄟ^url地址傳,另一頁面接收??紤]到這樣做會(huì)讓url過長(zhǎng),因此,嘗試使用cookie,把固定的值保存在cookie,其它頁面拿出來就可以使用。
在此之前,先寫通過url傳值與取值的過程。url通過跳轉(zhuǎn)頁面,給跳轉(zhuǎn)頁的url問號(hào)后拼接參數(shù)的方法傳值:
//問號(hào)后的userId / dialogId都是要傳的參數(shù) //如果有多個(gè)參數(shù),就用“&”拼接 window.location.href = 'doctor_ask.html?userId=' + userId + "&dialogId=" + dialogId;
在doctor_ask.html頁面,把在url中的參數(shù)取下來,要使用一個(gè)方法getQueryString(),其中有一個(gè)方法是用來獲取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')
第二種,通過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è)頁面,比如首頁,將要保存的值存放在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));
如果在其它頁面使用這個(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ì)象名稱);
以上這篇頁面間固定參數(shù),通過cookie傳值的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
echarts自定義餅圖數(shù)據(jù)刷新和顏色渲染問題淺析
這篇文章主要給大家介紹了關(guān)于echarts自定義餅圖數(shù)據(jù)刷新和顏色渲染問題的相關(guān)資料,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,需要的朋友可以參考下2023-05-05
微信小程序?qū)崿F(xiàn)左右聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)左右聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
javascript下使用Promise封裝FileReader
這篇文章主要介紹了javascript下使用Promise封裝FileReader,需要的朋友可以參考下2016-02-02
JS導(dǎo)入本地json文件數(shù)據(jù)的三類方法舉例講解
作為一名剛?cè)胄械拈_發(fā)者,你可能會(huì)遇到需要在JavaScript中引用JSON文件的情況,下面這篇文章主要給大家介紹了關(guān)于JS導(dǎo)入本地json文件數(shù)據(jù)的三類方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
js中hasOwnProperty的屬性及實(shí)例用法詳解
在本篇文章里小編給大家整理的是一篇關(guān)于js中hasOwnProperty的屬性及實(shí)例用法詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-11-11
Electron實(shí)現(xiàn)文件復(fù)制到剪切板的方案
這篇文章主要介紹了Electron實(shí)現(xiàn)文件復(fù)制到剪切板的解決方案,文中通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-11-11
如何使用ImageDecoder API讓GIF圖片暫停播放
在本文中,我們介紹了如何使用ImageDecoder API來暫停GIF圖像的播放,雖然這需要一些JavaScript編程知識(shí),但它是一個(gè)非常強(qiáng)大的技術(shù),可以讓您對(duì)GIF圖像進(jìn)行各種高級(jí)操作,感興趣的朋友跟隨小編一起看看吧2023-06-06

