我需要什么:
localStorage
。到目前为止我的JS代码:
for (var x = 0; x < parsed.length; x++) {
var objs = parsed[x];
console.log(objs);
// console above json string prints.
var ajaxData = JSON.parse(localStorage.getItem('ajaxData'));
if (ajaxData == null) {
ajaxData = [];
}
var details = {};
details["id"] = id;
details["eventname"] = eventname;
details["city"] = city;
details["country"] = country;
details["event_url"] = event_url;
details["month"] = month;
details["day"] = day;
ajaxData.push(details);
localStorage.setItem('ajaxData', JSON.stringify(ajaxData));
var EventDetails = JSON.parse(localStorage.ajaxData);
console.log(EventDetails);
问题是:
答案 0 :(得分:0)
当您设置details
时,您无法从objs
中获取数据。这可能是向前迈出的一步:
var i, objs, ajaxData, details, debugDetails;
for (i = 0; i < parsed.length; i++)
{
objs = parsed[i];
console.log(objs); // debug print-out of JSON content
ajaxData = localStorage.ajaxData;
if (ajaxData === null)
{
ajaxData = [];
} else {
ajaxData = JSON.parse(ajaxData); // only if it is valid JSON
}
// exclude from local storage irrelevant data
details = {
"id": objs.id,
"eventname": objs.eventname,
"city": objs.city,
"country": objs.country,
"event_url": objs.event_url,
"month": objs.month,
"day": objs.day
};
ajaxData.push(details);
localStorage.ajaxData = JSON.stringify(ajaxData);
debugDetails = JSON.parse(localStorage.ajaxData);
console.log(debugDetails); // debug print-out of stored details
这有用吗?
我还替换了语法的主要部分:
localStorage
可以如图所示使用,这是使用它的标准方式(而不是getItem()
/ setItem()
)。如果这不能按预期工作,我会深入挖掘。让我知道。
通过进一步优化代码,结果如下:
var i, ajaxData;
for (i = 0; i < parsed.length; i++)
{
ajaxData = localStorage.ajaxData;
ajaxData = ajaxData === null ? [] : JSON.parse(ajaxData);
ajaxData.push({
"id": parsed[i].id,
"eventname": parsed[i].eventname,
"city": parsed[i].city,
"country": parsed[i].country,
"event_url": parsed[i].event_url,
"month": parsed[i].month,
"day": parsed[i].day
});
localStorage.ajaxData = JSON.stringify(ajaxData);
答案 1 :(得分:0)
的
的 var details = {};
details["id"] = "id";
details["eventname"] = "eventname";
details["city"] = "city";
details["country"] = "country";
details["event_url"] = "event_url";
details["month"] = "month";
details["day"] = "day";
// Put the object into storage
localStorage.setItem('storeObject', JSON.stringify(details));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('storeObject');
console.log('retrievedObject: ', JSON.parse(retrievedObject));
的