无法在javascript中首次读取cookie

无法在javascript中首次读取cookie,javascript,asp.net,cookies,Javascript,Asp.net,Cookies,我正在使用Javascript设置cookie并从cookie读取值。我正在使用上提供的代码创建和读取cookie的值。当页面加载时,我正在检查该cookie是否存在。除了我第一次设置cookie并尝试在下一次页面加载时读取cookie外,其他一切正常。它正在设置cookie,但不是第一次只读 这是我的密码:- function setCookie(c_name, value, exdays) { var exdate = new Date(); exdate.setDate(e

我正在使用Javascript设置cookie并从cookie读取值。我正在使用上提供的代码创建和读取cookie的值。当页面加载时,我正在检查该cookie是否存在。除了我第一次设置cookie并尝试在下一次页面加载时读取cookie外,其他一切正常。它正在设置cookie,但不是第一次只读

这是我的密码:-

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

//To get the cookie:-
function getCookie(c_name) {
    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 == c_name) {
            return unescape(y);
        }
    }
}
//to Delete the cookie:-
function cookieDelete(c_name) {
    setCookie(c_name, "delete", -1);
}

这可能不是你问题的答案,但却是一个更简单的解决方案,希望它能帮助你

保存菜单

localStorage.setItem("menusave","vale");
负荷值

localStorage.getItem("menusave");

只是想帮忙

您需要在cookie中添加“路径”。例如:

document.cookie = 'ppkcookie2=yet another test; expires=Fri, 27 Jul 2001 02:47:11 UTC; path=/'; document.cookie='ppkcookie2=另一个测试;expires=2001年7月27日星期五02:47:11 UTC;路径=/'; 路径表示网站中cookie可读的相对路径

path=/
意味着它在整个网站上都是可读的。

path=/common/
意味着它只能在/common/folder(及其子文件夹)中读取

,因为您已将问题标记为asp.net

您可以按如下方式设置cookies:

HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
然后像这样读回去:

if(Request.Cookies["lastVisit"] != null)
    Label1.Text = Server.HtmlEncode(Request.Cookies["lastVisit"].Value);

请参阅当您传递
null
过期天数时,它会使您的cookie成为不会持续很长时间的会话cookie

更改此项:

setCookie("menuSave", "mysp", null);
对此进行修改,以确定其实际到期日期:

setCookie("menuSave", "mysp", 7);

如果要从设置cookie的页面之外的任何页面检索cookie,还需要在cookie中设置一个路径值,该值允许在设置cookie的页面上检索cookie。

请向我们展示您的准确javascript代码。这是我们能看到您的代码有什么问题的唯一方法。@jfriend00:-我已经用代码更新了我的问题。@Pranav不要使用w3schools.com作为参考(请参阅),最好依靠浏览器上是否有cookie查看器(如果您使用mozilla,请使用开发人员工具?)。这是一个很长的猜测,但由于您尚未设置路径和域,它会创建不同的cookie(取决于您的页面路径)。@Andreas:-+1。因为我使用的是W3school的代码作为参考,而不是设置路径。整个问题都是因为这个。我完全同意MDN有助于学习。非常感谢。。它只是走错路了。投票赞成你的有用答案。
setCookie("menuSave", "mysp", 7);