給定一個對象:如何存儲JS對象中的cookie
var object = {
"key1" : Math.random()*10000000000000000,
"key2" : "value",
"key3" : "value",
}
我怎麼可以存儲在瀏覽器中的cookie,當有人填寫與相應值的形式?當用戶回到頁面填寫表單時,值應該填充cookie中的表單。
給定一個對象:如何存儲JS對象中的cookie
var object = {
"key1" : Math.random()*10000000000000000,
"key2" : "value",
"key3" : "value",
}
我怎麼可以存儲在瀏覽器中的cookie,當有人填寫與相應值的形式?當用戶回到頁面填寫表單時,值應該填充cookie中的表單。
var saveButton=document.getElementById("save");
var username=document.getElementById("Name");
var email=document.getElementById("Email");
var gender=document.getElementById("Gender");
function setCookie(value, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = "Username"+ "=" + value + "; " + expires;
if(document.cookie)
return true;
}
function objToString (obj) {
var str = '';
for (var p in obj) {
if (obj.hasOwnProperty(p)) {
str += p + '::' + obj[p] + '\n';
}
}
return str;
}
saveButton.onclick=function() {
// body...
var object={name : username.value, email : email.value, gender : gender.value};
var stringObj=objToString(object);
alert(stringObj);
if(setCookie(stringObj,1))
alert("cookie set");
};
擴展已經給(註釋和定製JS方法)的答案......我想這個地方在工作示例...所以這裏去...
首先,使用JSON允許您可以輕鬆地一個對象轉換爲從JSON,而無需使用你自己的方法。它是最常見的方式和人們熟知的標準,這些天。所以大多數語言都有JSON支持..
擴展通過subas提供的例子德蘭 ...
var object={name : username.value, email : email.value, gender : gender.value};
var stringObj=JSON.stringify(object);
這裏看到http://jsfiddle.net/LLujbb2h/使得其易於使用的,如果你想處理字符串/數組和對象。你只需把它的主要對象和它所有的工作適合你你不侷限於...那麼爲什麼重新發明輪子?
使用這裏顯示的非JSON方法http://jsfiddle.net/1bf4dg8o/有很多問題,例如一旦從cookie中讀取對象就處理對象..它只是一個字符串......如果說例如你把::放在你的姓名/電子郵件/性別..這會打破自定義語法...我會不惜一切代價避免這種方法!
簡單,測試我創建了第一小提琴,你會看到它的很多容易對付......
還用巡視在瀏覽器中查看cookie的,因爲這將與調試幫助。 。
編輯 - 顯示如何讀回Cookie成JS對象 http://jsfiddle.net/LLujbb2h/2/
'JSON.stringify()'/'JSON.parse()' –
[純JavaScript的可能重複 - 存儲對象在cookie中](http://stackoverflow.com/questions/11344531/p URE-JavaScript的商店對象中的cookie的) –
和[可我們分配對象爲在JavaScript中的cookie?](http://stackoverflow.com/q/1276238/218196) –