javascript - 如何使用 JavaScript 获取和设置 cookie?

标签 javascript cookies

<分区>

我正在尝试在网页上实现 cookie。我无法使其正常运行。我也想存储一些变量的值。我意识到这非常广泛,但我对 JavaScript cookie 知之甚少,而且我正在处理 w3schools 示例。这是我目前所拥有的:

var days=365;
function setCookie(child,user,days) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + days);
var child=escape(user) + ((365==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=child + "=" + child;
}

function getCookie(child) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++) {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==child) {
    return unescape(y);
    }
  }
}

function checkCookie() {
var username=getCookie("username");
  if (username!=null && username!="") {
  alert("Welcome again " + username);
  } else {
  username=prompt("Please enter your name:","");
  if (username!=null && username!="") {
    setCookie("username",username,days);
    }
  }
}

最佳答案

是的,您在第 1 行有一个解析错误。正如 Matt 所说,“365”在这里是不合法的。

此外,看起来这段代码永远不会计算为 true...

if (x==child)
    {
    return unescape(y);
    }
  }

...因此永远不会返回 cookie 值 y。

您的代码中还有其他看起来有问题的地方,但我会从我在这里提到的开始。另外,尝试使用一些 JavaScript 工具进行调试,即。 Firebug 。

关于javascript - 如何使用 JavaScript 获取和设置 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630211/

相关文章:

javascript - 创建符合坐标列表中设定规范的线/条的算法/公式

javascript - 在 indexedDB 中将二进制文件存储为二进制字符串或 base64 会导致文件不可读

java - 如何在 DropWizard View 上设置 cookie 并仍然返回 View ?

ios - WKWebView AJAX 调用丢失 cookie

cookies - javax.servlet.http.Cookie 与 javax.ws.rs.core.Cookie

javascript - 如何将变量设置回0?

javascript - 如何传递在 jQuery 数据表中选中复选框的行列的值

javascript - Jquery禁用CSS :hover effect

php - 从 cookie 中读取值时出错

java - 如何从 org.eclipse.swt.browser.Browser 读取 cookie?