【发布时间】:2017-11-05 15:13:00
【问题描述】:
我正在尝试使用 JavaScript 添加和检索 cookie。我的代码是
function setCookie(name,value,days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
document.cookie = name + "=" + value + expires + ";";
alert("Hello you are : "+getCookie(name)); // displaying alert message 'Hello you are :'
}
function getCookie(cname) { //any problem with this code?
var rcookies = document.cookie;
var cookiearray = rcookies.split(";");
for (i=0;i<cookiearray.length;i++){
var value=cookiearray[i];
value=value.split("=");
if(value[0]==cname){
return value[1];
}
}
return "";
}
function checkCookie() {
var user = getCookie("user");
if (user != "") {
alert("You are " + user); // This alert is Never displayed But it need to be.
} else {
user = document.getElementById("name").value;
alert(user); // displaying the value of text field
setCookie("user", user, 1);
}
}
<form>
<input type="text" id="name" name="name" required="required">
<input type="button" onclick="checkCookie();" id="buttons" name="button" value="cookie">
</form>
问题是当我点击它设置 cookie 的按钮时(我在“查看站点信息”中看到它,它就在那里)但是当我尝试使用 getCookie 方法获取 cookie 时,它没有显示 cookie 值保存在 cookie 中。而且当我刷新页面并按“查看站点信息”图标再次查看 cookie 时,它在那里显示 0 个 cookie。
代码有什么问题?还是我做错了什么?
【问题讨论】:
-
你为什么一直在编辑代码?请在发布您的问题之前执行此操作,并确保问题与您发布的代码一起重现。代码有效:jsfiddle.net/d0p6gooz
-
你不应该把按钮放在
form元素中,否则会提交表单。 -
对不起,先生,现在我们有了最终代码。无需进一步编辑。我复制了实际的代码
-
我也尝试使用按钮标签,但仍然没有显示 cookie 的值
-
它在小提琴中对我有用。你试过了吗?您的代码中一定还有其他问题,您没有在问题中提供。
标签: javascript cookies