标签: jquery-cookie

jquery在cookie中保存json数据对象

如何在cookie中保存JSON数据?

我的JSON数据看起来像这样

$("#ArticlesHolder").data('15', {name:'testname', nr:'4',price:'400'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60'});
Run Code Online (Sandbox Code Playgroud)

我想做点什么

var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());
Run Code Online (Sandbox Code Playgroud)

和检索数据我想将其加载到$("#ArticlesHolder")

$.each($.cookie("basket-data"), function(i,e){
 $("#ArticlesHolder").data(i, e);
});
Run Code Online (Sandbox Code Playgroud)

有没有人知道我是在正确的轨道上还是应该以其他方式完成?简单地说,我如何从cookie中提取和提取json数据?

cookies jquery jquery-cookie

107
推荐指数
4
解决办法
15万
查看次数

jquery,删除cookie

我想用JQuery删除cookie; 我试过这个

$.cookie('name', '', { expires: -1 });
Run Code Online (Sandbox Code Playgroud)

然后我刷新页面,cookie仍然存在:

alert('name:' +$.cookie('name'));
Run Code Online (Sandbox Code Playgroud)

为什么?谢谢

cookies jquery jquery-cookie

86
推荐指数
3
解决办法
19万
查看次数

如果(并且仅当)它尚不存在,则创建一个cookie

我想要:

  1. 检查是否存在名称为"query"的cookie
  2. 如果是,那么什么也不做
  3. 如果不是,请创建值为1的cookie"query"

注意:我使用的是jQuery 1.4.2和jQuery cookie插件.

有没有人对我如何做到这一点有任何建议?

cookies jquery jquery-cookie

22
推荐指数
3
解决办法
6万
查看次数

如何使用jQuery $ .cookie()在cookie中存储对象数组?

我有一个javascript对象列表:

var people = [
   { 'name' : 'Abel', 'age' : 1 },
   { 'name' : 'Bella', 'age' : 2 },
   { 'name' : 'Chad', 'age' : 3 },
]
Run Code Online (Sandbox Code Playgroud)

我尝试使用jQuery $ .cookie()将它们存储在浏览器cookie中:

$.cookie("people", people);
Run Code Online (Sandbox Code Playgroud)

然后,我检索此cookie,然后尝试将另一个对象推入其中:

var people = $.cookie("people");
people.push(
    { 'name' : 'Daniel', 'age' : 4 }
);
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用; 我在Firebug中分析了这段代码,并且控制台注意到它people是一个string("[object Object],[object Object],[object Object]")并且push函数不存在.

到底是怎么回事?存储和检索对象列表的正确方法是什么?

javascript cookies jquery jquery-cookie

20
推荐指数
2
解决办法
3万
查看次数

使用带有$ .cookie()的cookie保存多个面板的折叠状态

我正在尝试确定如何使用$ .cookie保存可折叠面板的折叠状态.

到目前为止,这个问题一直有用,但仍然缺少最终解决方案.

到目前为止我找到的任何解决方案都只保存了最后一个下拉面板,因此当重新加载页面时,唯一保存的面板是最后一个.

我需要的是保存所有滚动的面板而不是一个.

链接到Github上的jCookie插件.

链接到JSFiddle的演示


UPDATE

有人建议LocalStorage是我想要实现的更合适的解决方案.如果您可以评论为什么以及本地存储是什么,将非常感激.


更新2

因为有人建议本地存储比使用cookie来改善这个问题.选定的答案基于此.然而,正如Robin所提到的,在HTTPS站点上使用此技术存在缺点.


HTML

<div class="panel panel-default">
    <div data-toggle="collapse" data-target="#panel1" class="panel-heading collapsed">
        <h4 class="panel-title">
            <a> Panel 1 </a>
        </h4>
    </div>
    <div id="panel1" class="panel-collapse collapse">
        <div class="panel-body">
        </div>
    </div>
</div>


<div class="panel panel-default">
    <div data-toggle="collapse" data-target="#panel2" class="panel-heading collapsed">
        <h4 class="panel-title">
            <a> Panel 2 </a>
        </h4>
    </div>
    <div id="panel2" class="panel-collapse collapse">
        <div class="panel-body">
        </div>
    </div>
</div>


<div class="panel panel-default">
    <div data-toggle="collapse" data-target="#panel3" class="panel-heading collapsed">
        <h4 class="panel-title">
            <a> Panel 3 </a> …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-cookie twitter-bootstrap-3

20
推荐指数
1
解决办法
7780
查看次数

如何在Jquery中设置cookie在1分钟或30秒后过期?

如何设置我的cookie在30秒或1米后过期?这是我的代码:

$.cookie('username', username, { expires: 14 });  // expires after 14 days
Run Code Online (Sandbox Code Playgroud)

cookies jquery jquery-cookie

13
推荐指数
1
解决办法
4万
查看次数

为什么jQuery cookie实际上没有设置cookie?

我正在使用使用cookie的jQuery开发一个应用程序.现在,它位于application.html我的PC桌面上.

但是,我无法存储和检索cookie.我按顺序包含了jquery-1.7.1.min.js,json2.js并且jquery.cookie.js在我的HTML文件中.

这是我如何存储cookie持续7天:

$.cookie("people", JSON.stringify(people_obj_array), {expires: 7});
Run Code Online (Sandbox Code Playgroud)

全局数组people_obj_array看起来像

[
        {
            "name": "Adam",
            "age": 1,
        },
        {
            "name": "Bob",
            "age": 2,
        },
        {
            "name": "Cathy",
            "age": 3,
        },
    ]
Run Code Online (Sandbox Code Playgroud)

当我测试JSON加密时alert(JSON.stringify(people_obj_array)),它看起来很好:

JSON测试

但是,当我通过以下方式检索此cookie时:

alert($.cookie("people"));
Run Code Online (Sandbox Code Playgroud)

甚至在刷新页面之前,会弹出一个"null"的警告.文本不应该是警告JSON字符串吗?我正确使用JQuery cookie库吗?


只是为了澄清,这是我测试的方式:

$.cookie("people", JSON.stringify(people_obj_array), {expires: 7}); // store
alert($.cookie("people")); // attempt to retrieve
Run Code Online (Sandbox Code Playgroud)

我有Firebug,我愿意做一些控制台测试.

javascript jquery json jquery-cookie

11
推荐指数
1
解决办法
8077
查看次数

使用Bootstrap,让警报框记住关闭操作

我正在尝试创建一个Bootstrap警报框,记住用户单击关闭按钮的时间.我想我需要将这些信息存储在cookie中.理想情况下,cookie只会持续当前会话,然后他们返回该框将再次出现.

我正在使用jQuery-Cookie插件.我把它上传到了/jquery-cookie-master.插件可以在这里找到.

这是我到目前为止通过以下代码找到的.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/jquery-cookie-master/jquery.cookie.js"></script>
<script>
    function runOnLoad(){
        if($.cookie('alert-box') == null) {
            $.cookie('alert-box', 'open', { expires: 7 });
        } else if($.cookie('alert-box') == 'close') {
            $(".close").hide();
        }

</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<body onload="runOnLoad()">

<div class="alert alert-info">
  <button type="button" class="close" data-dismiss="alert" href="hideMe.php" onclick="hideMe()">×</button>
  <p>
    <strong>FORUM UPGRADE:</strong> In light of our recent surge in popularity we upgraded our forum and unfortunately lost all the old threads in the process.
  </p>
  <p>
    In an effort to kick-start the …
Run Code Online (Sandbox Code Playgroud)

jquery-cookie

11
推荐指数
1
解决办法
1万
查看次数

JQuery cookie扩展将使用路径设置cookie但不会读取它

首先,设置一个cookie:

jQuery.cookie('monster', 'big', { path : '/sesame/'});
Run Code Online (Sandbox Code Playgroud)

接下来,尝试阅读它:

jQuery.cookie('monster');
Run Code Online (Sandbox Code Playgroud)

Firefox告诉我,cookie确实已经设置好了.值是big,路径是/sesame/.然而,当我试图读取cookie时,它将无法工作.

问题的替代版本:如何在读取 cookie 时指定路径?

作为一个实验,我使用了以下语法,但它设置了一个cookie而不是一个cookie.

$.cookie('cookie_name', { path: '/path/' });
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins jquery-cookie cookie-path

10
推荐指数
2
解决办法
5245
查看次数

jQuery cookie是否有可能像会话变量一样过期?

我知道这个问题已被问了一千次,但没有一个答案真的能给我我正在寻找的东西.我使用jQuery cookie来存储一些信息,但我希望它们在浏览器关闭时过期.window.unload不是一个可行的选择(读:不起作用.)

我的问题是:实际上可以将cookie设置为在浏览器关闭时过期,就像会话一样?如果是这样,有谁知道怎么样?

更新:事实证明它很简单,而不是通过到期:0(这不起作用),只是根本没有通过任何到期.嗯,这解释了为什么没有太多问题.

谢谢大家.

cookies jquery session-cookies jquery-cookie

10
推荐指数
1
解决办法
2万
查看次数