Javascript:无法在所有HTML页面中读取Cookie

Javascript:无法在所有HTML页面中读取Cookie,javascript,html,cookies,Javascript,Html,Cookies,我复制并使用了W3学校的getCookie和setCookie。以下是get和set的代码: function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCStr

我复制并使用了W3学校的getCookie和setCookie。以下是get和set的代码:

  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;
  }

  function getCookie(c_name)
  {
    var c_value = document.cookie;
    var c_start = c_value.indexOf(" " + c_name + "=");
    if (c_start == -1)
    {
      c_start = c_value.indexOf(c_name + "=");
    }
    if (c_start == -1)
    {
      c_value = null;
    }
    else
    {
      c_start = c_value.indexOf("=", c_start) + 1;
      var c_end = c_value.indexOf(";", c_start);
   if (c_end == -1)
   {
      c_end = c_value.length;
   }
      c_value = unescape(c_value.substring(c_start,c_end));
   }
      return c_value;
 }
我在preparedDrive.html页面中首次设置cookie

 setCookie("pathName",path,365);
 setCookie("formatName",ifFormat,365);
然后我在startInstall.html页面中调用了get cookie,这是一个不同的html页面

 var path = getCookie("pathName");
 var ifFormat = getCookie("formatName");

但是path和ifFormat都是null。但是,当I console.log进入preparedDrive.html时,数据就在那里。谢谢这是我第一次在JS中使用cookie。我不想使用localstorage来存储数据。因为一些旧版本的浏览器不支持此功能,对吗

您需要为cookie指定一个公共路径。最简单的方法就是指定域根目录:

var c_value=escape(value) + "; path=/" + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
否则,document.cookie将被删除,使cookie仅可用于当前页面

);path=path,例如,“/”、“/mydir”,如果未指定,则默认为当前文档位置的当前路径


另外,我建议您查看一下MDN上的cookie路径。

您需要为cookie指定一个公共路径。最简单的方法就是指定域根目录:

var c_value=escape(value) + "; path=/" + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
否则,document.cookie将被删除,使cookie仅可用于当前页面

);path=path,例如,“/”、“/mydir”,如果未指定,则默认为当前文档位置的当前路径


此外,我建议在MDN上查看Cookie。

< P>如果您已经使用jQuery,您可能需要考虑jQuery插件:


这很简单。

如果您已经使用jQuery,您可能需要考虑jQuery插件:


这就非常简单了。

这里有一个提示。学校是一个非常可怕的学习资源。这里有很多问题来解释如何处理cookie,还有一个关于MDN Mozilla开发者网络的不错的教程和一堆不错的库,如果你喜欢jQuery cookies,或者cookies.js,我今天刚刚用过,很不错。W3学校在搜索引擎优化方面做得非常好。这里有一个提示。学校是一个非常可怕的学习资源。这里有很多问题来解释如何处理cookie,还有一个关于MDN Mozilla开发者网络的不错的教程和一堆不错的库,如果你喜欢jQuery cookies,或者cookies.js,我今天刚刚用过,很不错。W3Schools的搜索引擎优化非常好。谢谢,但在我添加路径后,它仍然显示为空。甚至在当前html页面中显示null。下面是我如何检查错误的,也许我错了。setCookiepathName之后,路径为365;我调用了console.logget cookie information=+getCookiepathName;立即它打印出空值。谢谢,但在我添加路径后,它仍然显示空值。甚至在当前html页面中显示null。下面是我如何检查错误的,也许我错了。setCookiepathName之后,路径为365;我调用了console.logget cookie information=+getCookiepathName;立即它打印出空值。