日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JS存取Cookies值

發(fā)布時(shí)間:2024/9/20 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS存取Cookies值 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這里對(duì)cookie進(jìn)行了說(shuō)明,也介紹了幾個(gè)方法,但是我要取我存的cookie時(shí)取不到,他的方法只是針對(duì)存的 ?名字-值,不涉及鍵,所以自己寫(xiě)了個(gè)方法,來(lái)滿足我的需求。

封裝了簡(jiǎn)單存取Cookie:

//寫(xiě)Cookie function addCookie(objName, objValue, objHours) {var str = objName + "=" + escape(objValue); //編碼if (objHours > 0) {//為0時(shí)不設(shè)定過(guò)期時(shí)間,瀏覽器關(guān)閉時(shí)cookie自動(dòng)消失var date = new Date();var ms = objHours * 3600 * 1000;date.setTime(date.getTime() + ms);str += "; expires=" + date.toGMTString();}document.cookie = str; }//讀Cookie function getCookie(objName) {//獲取指定名稱的cookie的值var arrStr = document.cookie.split("; ");for (var i = 0; i < arrStr.length; i++) {var temp = arrStr[i].split("=");if (temp[0] == objName) return unescape(temp[1]); //解碼}return ""; }

①你首先的了解Cookie的兩種存法 ??查看? 這篇文章下面的一點(diǎn)的位子有介紹

js存cookie:

//存cookiedocument.cookie = "xxx=456"; //不帶子鍵document.cookie = "haha=hello=123&word=456"; //帶子鍵

這個(gè)太簡(jiǎn)單了。

我們獲取Cookie

var cookies = document.cookie.split(";"); $.each(cookies, function (i, item) { console.log(item); })

很明顯,最后兩行是賬號(hào)和密碼的cookie值。是不是不好處理。為了做測(cè)試,然后我又加了兩個(gè)cookie

HttpCookie hcName = new HttpCookie("testName");hcName.Value = "測(cè)試名字";hcName.Expires = DateTime.Now.AddDays(10);Response.Cookies.Add(hcName);HttpCookie hcPwd = new HttpCookie("testPwd");hcPwd["sonKey"] = "測(cè)試密碼";// hcPwd.Values["sonKey"] = 測(cè)試密碼; 上下兩種都可以hcPwd.Expires = DateTime.Now.AddDays(10);Response.Cookies.Add(hcPwd);

那么,我們現(xiàn)在網(wǎng)頁(yè)中存在的cookie的類型有: ?名稱=值,名稱=鍵=值,名稱=鍵=值&鍵1=值1&鍵2=鍵3,基本情況都包含了。然后自己寫(xiě)了一個(gè)方法,可能比較繁瑣,用的時(shí)候調(diào)用方法傳遞參數(shù)就可以了,返回的就是 值。

/* 參數(shù)說(shuō)明 ...rest表示可空參數(shù)第一個(gè)參數(shù)是存的cookie名稱第二個(gè)參數(shù)是第一個(gè)參數(shù)名稱下的子鍵有子鍵就寫(xiě),沒(méi)有就不寫(xiě)*/function getCookie(name, ...rest) {var dd;var cookies = document.cookie.split(";"); //cookie的類型有很多,你要確定你需要獲取什么$.each(cookies, function (i, item) {item = item.trim();//先把空格去了if (item.indexOf(name) > -1) {//你先的理解cookie這個(gè)位子才好理解 cookie可以有子鍵,也可以沒(méi)有子鍵//①格式: 名字=值if (rest.length === 0) {var names = item.split("=")//console.log(`名字;${names[0]},值:${names[1]}`);dd = names[1];}else {//②格式:名字=子鍵=值&子鍵1=值1&子鍵2=值2//這種的麻煩在于它的子鍵可以有很多var arry = item.split("&"); //取到所有的子鍵和值,注意:此集合的第一項(xiàng),多了個(gè)名字if (arry.length > 1) {$.each(arry, function (a, b) {if (b.indexOf(rest[0]) > -1) {var names = b.split("=");if (names[0] == name) { //判斷是否帶cookie的名字// console.log(`名字:${name},子鍵:${names[1]},值:${names[2]}`);dd = names[2];} else {console.log(`名字:${name},子鍵:${names[0]},值:${names[1]}`);dd = names[1];}}});} else {var arry1 = arry[0].split("=");console.log(`名字:${name},子鍵:${arry1[1]},值:${arry1[2]}`);dd = arry1[2];}}}});return dd;};

我們做測(cè)試:

$(function () { var a=getCookie("testName");var b = getCookie("testPwd", "sonKey");var c = getCookie("UserName", "WarehouseManagement");var d = getCookie("UserPwd", "WarehousePhoneWeb");var e = getCookie("UserName", "WarehousePhoneWeb");var f = getCookie("testName11");//沒(méi)有就返回空alert(`a:${a},b:${b},c;${c},d:$ozvdkddzhkzd,e:${e},f:${f}`);});

數(shù)據(jù)都可以取到。

總結(jié)

以上是生活随笔為你收集整理的JS存取Cookies值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。