Javascript document.cookie 总是返回空字符串 [英] Javascript document.cookie always returns empty string

查看:79
本文介绍了Javascript document.cookie 总是返回空字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在客户端 javascript 设置 cookie 时遇到了这个真正奇怪的问题.我目前正在开发一个小小的 1 页演示,以使用 cookie 来存储一些首选项".请注意,我无法在此演示或任何 3rd 方 jQuery 插件中使用服务器端语言.

I have this real strange problem with client side javascript setting cookies. I'm developing a little 1 page demo at the moment to use cookies to store some 'preferences'. Please note that I can't use a server side language for this demo or any 3rd party jQuery plugins.

所以我写了一个 javascript 对象来设置 cookie:

So I've written a javascript object to set a cookie:

var cookie = {
  set: function (name,value,exdays) {

    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=name + "=" + value;
    console.log(document.cookie);
  }
}

cookie.set('foo','bar',2);
console.log(document.cookie);

它只是返回一个空字符串.我已经进入 Chrome 控制台,看看我是否可以通过直接修改 document.cookie

It just returns an empty string. I've gone into Chrome console to see if I can do it via directly modifying document.cookie

> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""

如何通过客户端 javascript 设置 cookie?

How do you set a cookie via client side javascript?

我未处于隐身模式且 cookie 已启用.

推荐答案

如果 cookie 不在 Web 服务器中运行,则无法通过外观设置 cookie.

You can't set cookies by the look of things if its not running in a web server.

file:///C:/Users/me/Desktop/demo/demo.html

然而:

http://localhost/demo/demo.html 有效.

这篇关于Javascript document.cookie 总是返回空字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆