【问题标题】:Why isn't this function reading and displaying cookie?为什么这个函数不读取和显示cookie?
【发布时间】:2016-01-28 22:41:13
【问题描述】:

我已经写了这段代码。但它不显示cookie。每当我打开此页面时,它只会一次又一次地显示prompt。我该如何纠正?

<body onload="myFunc()">

<script>
function createCookie(value, exdays)
{
    var date= new Date();
    var d= date.setTime(date.getDate()+(exdays*10000));
    var e = date.toUTCString(d);
    var g = document.cookie= "user="+value+";"+" "+"expires="+e;
    return g;
}
function readCookie()
{
    var h = document.cookie;
    var i= h.split(";");
    return i[0];
}


function myFunc()
{
    var a= readCookie();
    if(a!="")
    {
        alert("Welcome"+a);
    }
    else
    {
        var b = prompt("Enter your name", "");
        createCookie(b, 5);
    }
}

【问题讨论】:

  • 对我来说很好。 “它不起作用”是什么意思?你看到警报了吗?如果您查看浏览器的错误控制台,您会看到错误消息吗?
  • 调用two 重新设置cookie,因为它再次调用one。这可能会导致问题。无论如何,单击“阅读”时我可以看到警报。也许您在浏览器中禁用了 cookie。
  • 如果您有多个 cookie,您的 i[0] 将只显示第一个 key=value 对。
  • 我的错误。我在其他浏览器中尝试过,它显示 user=Vikas。但是为什么它不在 Chrome 中显示这个字符串呢?显示警报,但它是空的!我没有禁用 Cookie。
  • 那么console.log(document.cookie)里面有什么

标签: javascript function cookies


【解决方案1】:

Javascript 区分大小写:

var date = new Date();

【讨论】:

  • 好的,先生,但这并不能解决我的问题。我恳请你检查编辑。
【解决方案2】:

您的剪辑在大多数浏览器中都能正常工作,即使在 chrome 中也是如此。除非您正在使用本地文件系统 (URL = file:///xxx)。 Chrome 默认禁用本地文件 cookie,但您可以使用命令参数“--allow-file-cookies”激活它们。

【讨论】:

  • 好的。这个问题就解决了。现在请检查编辑。有一个新问题。
猜你喜欢
  • 2018-10-08
  • 1970-01-01
  • 2023-03-14
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2018-02-06
  • 2020-09-29
相关资源
最近更新 更多