Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用cookies JQuery存储数组列表_Javascript_Jquery_Cookies - Fatal编程技术网

Javascript 使用cookies JQuery存储数组列表

Javascript 使用cookies JQuery存储数组列表,javascript,jquery,cookies,Javascript,Jquery,Cookies,我可以在cookie中存储数组列表吗 我的数组列表应该是这样的 项目萨雷 var productId=[]; productId['id']='productId'; productId['title']='product name'; itemsarray.push(productId)首先,数组应该包含json 例如: const项=[ {id:153359796766,标题:“阿迪达斯EQT靠垫ADV Shoes男式”}, {id:391912235126,标题:“Sonos One语音

我可以在cookie中存储数组列表吗

我的数组列表应该是这样的

项目萨雷

var productId=[];
productId['id']='productId';
productId['title']='product name';

itemsarray.push(productId)首先,数组应该包含json

例如:

const项=[
{id:153359796766,标题:“阿迪达斯EQT靠垫ADV Shoes男式”},
{id:391912235126,标题:“Sonos One语音控制无线智能”}
];
如果不需要该数据服务器端,可以使用localStorage:

localStorage.setItem('items',items);

您也可以使用localStorage(通常情况下,大多数浏览器都允许您在localStorage中存储更多数据(2019年最大5Mb),如果您不需要服务器读取这些数据,性能也会更好

window.localStorage.array_1 = JSON.stringify(itemsarray);
console.log(window.localStorage.array_1);

/// and to convert it back to an array object
console.log(JSON.parse(window.localStorage.array_1));

所有的解决方案都提供了一个替代方案,并建议他使用本地存储,这是一个很好的建议(就我个人而言,我从来没有使用cookies来代替存储),但如果OP def需要使用cookies,这将是解决问题的一种普通方法:

只需执行以下操作即可存储该阵列:

document.cookies = `id={$JSON.stringify(itemsArray)}` 
它将把您的值存储在cookies字符串中。访问该值有点“复杂”,因为Cookie存储为以分号分隔的字符串:

cookies = 'value=thevalue;value2=the2value'
您需要做的是按“;”拆分字符串,或者按照mdn站点的建议运行regexp:

var cookieValue=document.cookie.replace(/(?:(?:^ |.;\s)id\s*\=\s*([^;])。$)|.*$/,“$1”)

其中id代表您的cookie密钥

然后您只需执行一个
JSON.parse(cookieValue)


来源:

$。cookie
不是有效的js。请尝试或尝试使用才能使用
$。cookie
您必须拥有jQuery cookie插件(至少我知道,它不再维护)@prasanth:很抱歉,这是我的错,我使用的是jQuery,而不是javascript。jQuery是javascriptif如果您在使用json之后立即记录
json\u str
。stringify,它记录了什么?localStorage没有存储像您在这里显示的
items
这样的对象
localStorage
仅存储字符串,仅此而已,这就是为什么要使用
JSON.stringify
,将对象转换为字符串。是的,你是对的。我忘了添加它:)所以它是localStorage.setItem('items',JSON.stringify(items));