pet*_*_de 1 javascript cookies vue.js nuxt.js
我在 Nuxt 中有一个应用程序,我想将购物车的内容存储在 cookie 中。为了存储 cookie,我使用cookie-universal-nuxt包。但是,我无法在其中存储“某些”对象。下面是一个例子:
const userInfo = {
name: 'Smith',
age: 41,
isVip: true,
}
this.$cookies.set('userInfo', JSON.stringify(userInfo))
console.log(this.$cookies.get('userInfo'))
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,没有问题。问题是,它不适用于我的真实物体:
const savedProductsArray = this.$store.getters['cart/products'] // returns array of products
const savedProducts = savedProductsArray[0] // select first one
this.$cookies.set('productInfo', JSON.stringify(savedProducts))
console.log(this.$cookies.get('productInfo')) // prints undefined
Run Code Online (Sandbox Code Playgroud)
所以第二个对象显然没有存储在 cookie 中。知道为什么吗?谢谢!
顺便说一句,这是 userInfo 对象在控制台中的样子:
Object {
age: 41,
name: "Smith",
isVip: true,
}
Run Code Online (Sandbox Code Playgroud)
并保存产品:
Object {
calories: 123,
name: "a",
...
}
Run Code Online (Sandbox Code Playgroud)
所以看起来它们是“相同”的对象,但不知何故只有第一个可以存储在cookies中......
更新: OP 确认问题出在 cookie 大小上。
可能有多个问题,您能否检查一下它的价值是什么,JSON.stringify(savedProducts)如果您可以在帖子中包含完全字符串化的 savedProducts 也会有所帮助。
另外,请注意,每个域只允许 4KB 左右的 cookie 大小,因此如果您尝试存储这么多数据,这也可能是原因
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |