自己研究了一下.
"Cookie里面只能放String 类型"
所以只能将arr的数据按照自己的约定转成string格式存进cookie。
这里提示一下cookie是存在本地浏览器,session是服务器上的。
将下列的数组存进cookie。
var arr = [
{'name':'joe'},
{'name':'json'},
{'name':'boe'},
];
首先是存的function
function setCookie(searchWord, val){
var value = val; var arr = document.cookie.match(new RegExp('(^| )' + searchWord + '=([^;]*)(;|$)'));//获取之前存的内容 expiryday.setTime(expiryday.getTime() + 60 * 60 * 24 * 30 *6 *1000); //cookie周期 这里的意思是有效期为半年 if (arr) { var cookieContext=unescape(arr[2]); cookieContext+="&"+escape(value); //escape() 编码 document.cookie = searchWord + '=' + escape(cookieContext) + '; expires=' + expiryday.toGMTString() + ";path=/";
} else {
document.cookie = searchWord + '=' + escape(value) + '; expires=' + expiryday.toGMTString() + ";path=/";
//该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
//设置cookie的路径,如果不这样设的话只有自己的路径才能使用,这样设的目的是让该值在这个域下共享
}
}
获取cookie
function getCookie(searchWord) {
var arr = document.cookie.match(new RegExp("(^| )" + searchWord + "=([^;]*)(;|$)"));
if (arr != null) {
var cookieContext=unescape(arr[2]);
var cookieArr=cookieContext.split('&');
var tmp = [];
for(var i in cookieArr){
if(tmp.indexOf(cookieArr[i])==-1) {
tmp.push(cookieArr[i]);
}
}
}
return tmp;
}
var _setCookie = function(name, value, domain, minute, path) {
if (minute) {
var now = new Date(),
expire = new Date();
expire.setTime(parseFloat(+now) + 60 * 1000 * minute);
}
document.cookie = name + '=' + value + '; ' + (minute ? ('expires=' + expire.toUTCString() + '; ') : '') +
('path=' + (path || '/') + '; domain=' + (domain || 'tenpay.com') + ';');
};
if (minute) {
var now = new Date(),
expire = new Date();
expire.setTime(parseFloat(+now) + 60 * 1000 * minute);
}
document.cookie = name + '=' + value + '; ' + (minute ? ('expires=' + expire.toUTCString() + '; ') : '') +
('path=' + (path || '/') + '; domain=' + (domain || 'tenpay.com') + ';');
};
出处:http://www.cnblogs.com/matthew9298-Begin20160224/
如果您觉得本文对您的学习有所帮助,点击页面右下角【好文要顶】支持博主。