2015-02-12 73 views
0

目前我有要添加的饼干为:从Javascript,加入域或过期的cookie我不会创建的cookie

document.cookie="key=value".concat(";path=/"); 

,这将增加一个cookie,没有主机信息。但是,如果我更改为:

document.cookie="key=value".concat(";path=/;domain=.mydomain.ca"); 

不会生成cookie。同样,如果我在Cookie中有“expires =”,它也不会生成。

我在本地主机上运行,​​我不确定是否有任何限制我可以使用的域?或者还有什么会导致设置cookie失败?

+0

可能的重复[如何为其他域设置Cookie](http://stackoverflow.com/questions/6761415/how-to-set-a-cookie-for-another-domain )。 [同源策略](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)也适用于'document.cookie'](https://developer.mozilla。组织/ EN-US /文档/网络/ API/document.cookie中#注)。 – 2015-02-12 04:41:48

+0

@JonathanLonowski不同之处在于我试图为子域设置cookie(在mydomain.ca之前有一个点),而不是一个完整的srtanger域。我有这样的印象,这是可能的。 CORS可能是原因,如果你能提供关于如何在本地主机上工作时设置cookie的答案,我将不胜感激。 – jamesdeath123 2015-02-12 04:53:55

+0

@JonathanLonowski如果这是由于CORS - 为什么到期时间也会禁用cookie? CORS是否也影响cookie上的“过期”? – jamesdeath123 2015-02-12 05:02:13

回答

0

我觉得这应该在评论中,但我不能评论(至少需要50个代表),所以:你是否尝试过在cookie上设置过期日期?设置cookie后,您可以给我们提供这样

window.alert(document.cookie); 

我试着在的jsfiddle代码的输出和它的工作: http://jsfiddle.net/8fy24pbu/

而且,您的域名不应该是localhost,因为你不是从http服务器运行此操作

+0

我试了这个,并返回一个完全空白的屏幕 - 我怀疑这与乔纳森在他的评论中提到的CORS有关。 – jamesdeath123 2015-02-12 04:57:23

+0

您使用的是什么域名? 'localhost'? '127.0.0.1'? – 2015-02-12 05:10:13

+0

在本地文件sctructure:file:/// C:.../index.html#/ home中打开,当设置域时,使用localhost = localhost – jamesdeath123 2015-02-12 05:27:35