下面是我試圖找出爲什麼它不能正確工作的例子。如何使用分隔符在單個cookie中設置多個值?
它不斷給我空值。
我想了解如何在單個cookie中設置多個值。
每個cookie都包含一個名稱=值對,所以如果您需要存儲幾個單獨的數據片段(如用戶姓名,年齡和會員編號),則需要三個不同的cookie。
而不是這樣做,我使用分隔符技術來分割它,以便我可以使用更少的cookie。
如果可以的話,請給我看看這個正確實施的例子。我已經看到了其他編程語言的一些材料,但我想知道它是如何專門在JavaScript中完成的。
<!DOCTYPE html>
<html>
<head>
<title> Using a delimiter to save on cookies used</title>
<script>
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date=new Date();
date.setTime(date.getTime()+ (days*24*60*60*1000));
var expires=date.toGMTString();
}
else var expires = "";
cookieString= name + "=" + escape (value);
if (expires)
cookieString += "; expires=" + expires;
if (path)
cookieString += "; path=" + escape (path);
if (domain)
cookieString += "; domain=" + escape (domain);
if (secure)
cookieString += "; secure";
document.cookie=cookieString;
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs=document.cookie.split('|');
for (var i = 0; i<crumbs.length; i++) {
var crumb = crumbs [i];
if (crumb.indexOf(nameEquals) == 0) {
return unescape (crumb.substring(nameEquals.length, crumb.length));
}
}
return null;
}
function deleteCookie(name){
createCookie(name, "", -1);
}
var userdata="Joe|31|Athlete";
createCookie("user", userdata);
var myUser=getCookie("user");
var myUserArray=myUser.split('|');
var name=myUserArray[0];
var age=myUserArray[1];
var profession=myUserArray[2];
</script>
</head>
<body>
</body>
</html>
您是否測試過您正在爲當前域設置Cookie?這可能是一個跨域問題.. –