2

jqueryのjsonを使用してCookie配列を作成しようとしています。これは、配列部分を除いてこれまでに機能するスクリプトです。誰かがこのような配列を行う方法を教えてください...

    <script type="text/javascript">

       //The database value will go here...
       var cookievalue= {'tid1':'ticvalue1','thid1':'thidvalue1','tid2':'ticvalue2','thid2':'thidvalue2'};

       //Create a cookie and have it expire in 1 day.
       $.cookie('cookietest', cookievalue, { expires: 1 });

       //Write the value of the cookie...
       document.write($.cookie('cookietest'));

    </script>

私が抱えている問題は[object object]、配列値の代わりに配列を保存しているクッキーに渡すときです。したがって、データをループすると、配列値が格納された 1 つの Cookie ではなく、複数の Cookie が作成されます。

4

2 に答える 2

0

私が抱えている問題は、配列値の代わりに[オブジェクトオブジェクト]を格納しているクッキーに配列を渡すときです。したがって、データをループすると、配列値が格納された 1 つの Cookie ではなく、複数の Cookie が作成されます。

今、あなたは平易な話です !だから私たちは何千ものコメントなしであなたを助けることができました ;)


    <!DOCTYPE html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script src="../js/jquery-1.7.2.js" type="text/javascript"></script>
    <script src="https://raw.github.com/douglascrockford/JSON-js/master/json2.js" type="text/javascript"></script>
    <script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js" type="text/javascript"></script>
    </head>
    <body>
        <script>
            $(function() {
                var cookieValueString = JSON.stringify( 
                    [
                        {
                            'column1':'row1col1',
                            'column2':'row1col2'
                        },
                        {
                            'column1':'row2col1',
                            'colum2':'row2col2'
                        }
                    ] 
                );
                $.cookie('cookietest', cookieValueString, { expires: 1 });

                var arrayFromCookie = JSON.parse($.cookie('cookietest'));
                for(var i = 0; i < arrayFromCookie.length; i++) {
                    alert("Row #" + i
                           + "- Column #1: " + arrayFromCookie[i].column1
                           + " - Column #2: " + arrayFromCookie[i].column2);
                }
            });
        </script>
    </body>
    </html>
于 2012-08-14T06:55:47.680 に答える
0

これらのプロパティを持つ 1 つのオブジェクトを作成しています。そして、二重引用符の代わりに単一引用符を使用しています(jsonで知っている限り、二重引用符で文字列を指定する必要があります)。

それを試してください:

      var cookievalue= [{"tid1":"ticvalue1"},{"thid1":"thidvalue1"},{"tid2":"ticvalue2"},{"thid2":"thidvalue2"}];

したがって、解析後、次のようになります。

cookievalue[0].tid1 == "ticvalue1"<br/>
cookievalue[1].thid1 == "thidvalue1"<br/>
cookievalue[2].tid2 == "ticvalue2"<br/>
cookievalue[3].thid2 == "thidvalue2"<br/>
于 2012-08-13T09:00:26.613 に答える