如何在JavaScript Cookie中存储对象/数组? 我尝试了那个简单的代码
from flask import Flask
from flask.ext.cdn import CDN
app = Flask(__name__)
app.config['CDN_DOMAIN'] = 'cdn.yourdomain.com'
CDN(app)
它显示第一个控制台消息中的所有值,但仅提供" [object Object]"在第二。看起来js-cookie无法正确使用对象。有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
您正在存储一个对象,并且只允许使用纯文本。请记住,Cookie的最大长度为4 KB,因此您无法在此处存储大量信息(请改用localStorage
)。
要解决此问题,您必须首先对json进行字符串化处理:
Cookies.set('item', JSON.stringify(item));
并且您将存储字符串化对象。要访问它,您必须解析字符串:
console.log(JSON.parse(Cookie.get('item')));
答案 1 :(得分:-1)
在cookie中,您只能存储字符串。因此,为了首先存储对象,您将对象转换为字符串。在这里使用this plugin就是一个例子:
var people = [
{"id": 123, "name": "Mazahir Eyvazli"},
{"id": 128, "name": "Mayki Nayki"},
{"id": 131, "name": "Mike Shinoda"}
];
$.cookie("people", JSON.stringify(people));
如果您想要将人作为Cookie中的对象
进行访问// $.cookie("people") will return people object as an string
// therefore we parse it to JSON object
var people = $.parseJSON($.cookie("people"));
// now we can access our object
people[0]["id"] // --> 123
people[1]["name"] // --> Mayki Nayki
答案 2 :(得分:-1)
只需使用:
Cookies.getJSON('item')
js-cookie从版本2.0.0开始内置了对JSON解析的支持,无需更改设置方式。有关详细信息,请参阅https://github.com/js-cookie/js-cookie/tree/v2.1.0#json