使用JavaScript和Jade添加到localStorage
与Jade有关的问题以及数据在呈现时传递给它的方式。
我试图保存[{key1: "val1", key2: "val2"}, ...}];
格式,但有问题,因为它显示为下面的结果。
结果
key: xyz value:[{"artist":"Lady Gaga",...
这是我正在使用的服务器端Node.js正在传递它的代码…
res.render('musics', { title: 'site', result: JSON.stringify(result) });
这是我有问题的代码,因为我必须调用结果玉…
script function local (arr) { var i; i = "#{result}"; localStorage.setItem('xyz', i); } console.log('stored'); local();
结果周围的引号搞砸了,但没有他们,我得到意外的标识符错误…
任何build议,或者如果最好通过骨干(这是我使用的客户端)ajax路线我愿意,只是要指出 – 数据被刮,通过select一个forms职位 – 所以数据回来后,是一个准时转移,所以如果我做了一个Ajax调用它将不得不包括职位和获得,否则我不知道如何接收它…也许res.json(结果)在服务器端,但是然后页面需要渲染以某种方式…打开build议。 谢谢! 最终,我希望它进入localStorage没有“围绕一切。
你的玉片应该看起来像这样:
script!= "(function() {localStorage.setItem('xyz',JSON.stringify(" +result + ");})();"
通过使用!=你告诉玉不能逃避以下内容,并在客户端,你必须再次 stringify之前把你的数据本地存储。
作为对@ greelgork答案的改进:
这是用于JSON数组
script!= "(function() {var items = []; items = JSON.parse(localStorage.getItem('Stored_items')); console.log(JSON.stringify(items)); items.push(" + JSON.stringify(product) + "); localStorage.setItem('Stored_items', JSON.stringify(items)); })();"
无论如何,将项目推入localStorage
需要在插入到localStorage
之前进行stringified
,因此应该修改@ greelgorke的答案,以便:
单个项目
script!= "(function() {localStorage.setItem('xyz',JSON.stringify(result)); })();"
所以JSON.stringify
就像所有其他的javascript
代码一样,
这是我在我的项目中使用的,它是worx
信用 推送JSON对象在localStorage中排列