给定一个对象:如何存储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) –