jQuery cookie vs. cookies.set&&没有设置过期/仅会话

时间:2012-10-12 19:32:40

标签: jquery cookies

我有一个简单的jQuery函数创建一个cookie(是的,我包括插件),我可以使用以下命令创建一个cookie:

$.cookies.set('LastArticle',  $(this).attr("id"), { expires: 1 } );

但是创建的Cookie(在多个浏览器中)只是一个没有过期日期的会话Cookie。

我尝试使用更简单的方法:

$.cookie('TEST_COOKIE2', 2, {expires: 30});

测试页面:http://www.armorama.com/test2.php

并且根本不会产生任何COOKIE。有什么问题?

2 个答案:

答案 0 :(得分:1)

您收到“TypeError:$ .cookie不是函数”错误。尝试使用文档就绪功能:

$(document).ready(function() {
  //Your Code
});

另外,我认为你正在混合使用jQuery Cookie脚本。您正在使用的http://code.google.com/p/cookies/,不会以这种方式设置Cookie。你需要使用$ .cookie.set,因为$ .cookie不是函数。

Expires选项是expiresAt,所以应该是:

$.cookies.set('LastArticle',  $(this).attr("id"), { expiresAt: 1 } );

答案 1 :(得分:0)

我不相信您使用的插件实际上有.cookie方法。

它有.cookies,但不是.cookie

有许多jQuery cookie插件(很多人都写过它,因为它相当简单并且明显遗漏了jQuery核心);也许你正在使用一个与你认为的不同的插件?