2013-02-26 43 views
0

我使用jQuery的cookie的插件,并试图设置cookie并读取Cookie悫浏览器会话的cookie:使用jQuery设置和读取

我有这样的一段代码使用jQuery设置cookie:

<script type="text/javascript"> 
$(document).ready(function(){ 
     $.cookie("example", "foo", { path: 'C:/temp', expires: 7 }); 
     alert($.cookie("example")); 
    }); 

</script> 

我得到未定义的错误。有任何想法吗?

+3

请指出哪个插件是您正在使用的插件...有多个 – KaeruCT 2013-02-26 17:20:21

回答

3

问题是您误解了路径选项的用途。

注:我假设你正在使用这个插件:jquery-cookie

下面应该工作:

$(document).ready(function(){ 
     $.cookie("example", "foo", { path: '/', expires: 7 }); 
     alert($.cookie("example")); 
    }); 

从文档:

定义的路径,其中的cookie已验证。默认情况下, Cookie的路径是创建cookie的页面的路径(标准 浏览器行为)。如果您希望在整个域使用路径中使其可用,例如 :'/'。默认:页面的路径,其中 cookie被创建。

正如你所看到的,它期望页面的路径,而不是本地路径。

+0

是的,谢谢。还有一个问题。一旦我设置了cookie,我如何从另一个浏览器会话中读取它?我如何将其传递给另一个浏览器会话?基于cookie,我需要更改页面的标题。 – user1471980 2013-02-26 17:28:39

+0

你得到的cookie是:'.cookie(“example”)',就像你的例子。你知道HTTP cookie是如何工作的吗?您需要将当前页面放在您为Cookie指定的相同路径(或以下)中。 – KaeruCT 2013-02-26 17:36:59