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

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

问题描述

我有这个真正奇怪的问题,客户端JavaScript设置Cookie。我正在开发一个小的1页面演示,使用cookie来存储一些偏好。请注意,我无法使用服务器端语言进行此演示或任何第三方jQuery插件。



所以我写了一个javascript对象来设置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

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

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

编辑:我目前未处于无痕模式,而且已启用Cookie。

解决方案

如果不在网络服务器中运行,则不能通过外观来设置Cookie。



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



但是:



http://localhost/demo/demo.html 起作用。


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.

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

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
""

How do you set a cookie via client side javascript?

Edit: I am not in incognito mode and cookies are enabled.

解决方案

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

however:

http://localhost/demo/demo.html works.

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

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