Cookie是存儲在客戶端瀏覽器中的一小段數(shù)據(jù),通常用于記錄用戶的訪問狀態(tài)或存儲用戶的個人偏好設(shè)置等信息。
一個常見的用途是將用戶的登錄狀態(tài)保存在Cookie中,以便在用戶關(guān)閉瀏覽器后再次打開時可以自動登錄。
// 以JSON格式存放用戶信息到Cookie中 // 假設(shè)用戶信息包括name、age、gender三個字段 var user = { name: '張三', age: 25, gender: '男' }; document.cookie = 'user=' + JSON.stringify(user) + ';path=/';
在上面的代碼中,我們將一個包含用戶信息的JSON對象轉(zhuǎn)換成字符串后存放在了Cookie中的user鍵中。其中,使用了JSON.stringify()方法將JSON對象轉(zhuǎn)換成字符串,并使用了path=/參數(shù)指定了Cookie在整個網(wǎng)站中都可用。
讀取Cookie中的JSON字符串時,我們需要使用JSON.parse()方法將其轉(zhuǎn)換回JSON對象:
// 讀取Cookie中存放的用戶信息JSON字符串并解析 var userJSON = document.cookie.replace(/(?:(?:^|.*;\s*)user\s*\=\s*([^;]*).*$)|^.*$/, '$1'); var user = JSON.parse(userJSON); console.log(user.name); // 輸出:張三
在上面的代碼中,我們首先使用正則表達式獲取Cookie中存放的用戶信息JSON字符串,然后使用JSON.parse()方法將其轉(zhuǎn)換回JSON對象。最后,我們輸出了用戶對象中的name字段。