我正在尝试使用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>
我遇到的问题是当我将数组传递给cookie时,它存储[object object]
而不是数组值。因此,如果我遍历数据,那么我将使用多个cookie而不是一个cookie,其中数组值存储在
答案 0 :(得分:0)
您正在使用这些属性创建一个对象。并且你使用单引号而不是双引号(据我所知,在json中你必须指定带双引号的String)。
试试:
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/>
答案 1 :(得分:0)
我遇到的问题是当我将数组传递给cookie时,它存储[object object]而不是数组值。因此,如果我遍历数据,那么我将使用多个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>