網頁該如何儲存資料?我們可以透過 LocalStorage 將字串資料儲存在瀏覽器中(大約 5 MB,依瀏覽器而定),資料並不會自動被刪除,最簡單的存取示範如下:
註: LocalStorage 的內容可以很輕易的被看到並且修改,請勿儲存密碼等重要資料。
參考資料:
mdn web docs - Window.localStorage
// 儲存
localStorage.setItem('key', 'value');
// 讀取
let val = localStorage.getItem('key');
if (val === null) {
console.log('內容不存在');
} else {
console.log('value:', val);
}
// 刪除
localStorage.removeItem('key');
// 清除全部
localStorage.clear();
儲存字串以外的內容
LocalStorage 只能儲存字串,那如果今天有個物件想要儲存該怎麼做?我們可以將物件序列化為 JSON,未來要使用時直接取出並還原(反序列化)即可:
let person = {
id: 1,
name: "Ruyut",
email: "a@ruyut.com"
};
// 將物件轉換為 JSON 字串
let personString = JSON.stringify(person);
console.log(`personString: ${personString}`);
// personString: {"id":1,"name":"Ruyut","email":"a@ruyut.com"}
// 將 JSON 字串儲存至 localStorage
localStorage.setItem('person', personString);
// 從 localStorage 讀取 JSON 字串
let personString2 = localStorage.getItem('person');
console.log(`personString2: ${personString2}`);
// 列出所有屬性
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
/*
id: 1
name: Ruyut
email: a@ruyut.com
*/
註: LocalStorage 的內容可以很輕易的被看到並且修改,請勿儲存密碼等重要資料。
參考資料:
mdn web docs - Window.localStorage
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com