91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

js如何獲取瀏覽器中的Cookie內的對象內容

liguoquan
2025年2月25日 16:45 本文熱度 897
:js如何獲取瀏覽器中的Cookie內的對象內容


要獲取瀏覽器中的Cookie內的對象內容,你可以使用JavaScript的document.cookie屬性。這個屬性可以返回當前頁面的所有Cookie字符串,然后你可以通過解析這個字符串來獲取特定的Cookie值,并將其轉換為對象(如果它是以JSON格式存儲的)。


方案一:直接獲取和解析JSON格式的Cookie

假設你存儲了一個JSON格式的Cookie,你可以這樣做:


獲取Cookie字符串


解析JSON字符串


示例代碼

function getCookieObject(name) {

    let cookieValue = document.cookie

        .split('; ')

        .find(row => row.startsWith(name + '='))

        .split('=')[1]; // 獲取到具體的值

    try {

        return JSON.parse(decodeURIComponent(cookieValue)); // 解析并解碼

    } catch (e) {

        console.error('Error parsing the cookie:', e);

        return null; // 或者拋出更具體的錯誤,根據需求

    }

}

 

// 使用示例

const userData = getCookieObject('userData');

if (userData) {

    console.log(userData);

} else {

    console.log('No userData cookie found or it is not in JSON format.');

}

方案二:處理非JSON格式的Cookie,手動提取數據

如果你的Cookie不是JSON格式的,而是多個以分號分隔的鍵值對,你可以手動解析它們:


示例代碼

function getCookie(name) {

    let nameEQ = name + "=";

    let ca = document.cookie.split(';'); // 分割所有的Cookie項

    for(let i = 0; i < ca.length; i++) {

        let c = ca[i];

        while (c.charAt(0) == ' ') c = c.substring(1, c.length); // 移除前導空格

        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); // 返回具體的值

    }

    return null; // 沒有找到對應的Cookie名稱

}

 

// 使用示例(假設你有多個以分號分隔的鍵值對)

const userId = getCookie('userId'); // 獲取userId的值

const userName = getCookie('userName'); // 獲取userName的值

console.log('User ID:', userId);

console.log('User Name:', userName);

報錯問題解釋及解決方法:

報錯問題1:無法解析Cookie為JSON對象。

解釋:這通常發生在JSON.parse()調用時,如果Cookie的值不是一個有效的JSON字符串。例如,它可能是undefined,或者編碼不正確。


解決方法:在JSON.parse()調用前檢查Cookie值是否存在并且是有效的JSON字符串。如上例中的try-catch塊已經包括了這一處理。


報錯問題2:Cookie名稱不存在。

解釋:嘗試訪問一個不存在的Cookie名稱會返回null,這可能會導致程序出錯,尤其是在嘗試訪問返回的null的屬性時。


解決方法:在訪問任何返回的屬性之前,檢查該值是否為null。例如,使用條件語句檢查if (userData)。


通過上述方法,你可以安全地獲取和解析瀏覽器中的Cookie內容。

?

該文章在 2025/2/25 16:45:02 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国内偷拍视频网页 | 日本免费在线视频 | 国产操女| 日韩在线视频观看 | 国内成人免费视 | 日韩欧美一区二区三 | 欧美日韩亚洲第一区 | 成人一区精品视频 | 午夜激情影 | 国产热の有码 | 福利导航小视频在线 | 91精品午夜在线 | 日本三级免费网站 | 欧美一区日韩国产 | 国产午夜亚洲精品 | 成人欧美国产在线 | 欧美在线 | 国产在线欧美观看 | 欧美日韩经典 | 日本一本之道 | 强视频在线观看 | 国产欧美日韩主播 | 欧美亚洲精品在线 | 福利秀视频在线播放 | 午夜理伦片免费 | 日韩国产乱 | 97日韩在线 | 精品视频无 | 日韩视频第二页 | 妹子干综合 | 亚洲无码精品二 | 国产女精| 日本中文字幕视频久 | 欧美午夜片欧美 | 乱色熟女综合一 | 国产在线乱子伦一区 | 国精产品水蜜桃 | 91热这里只有精品 | 国产在线拍揄 | 日韩亚洲综合欧美 | 日韩欧美美女中文 |