Javascript 如何在localstorage中存储多个数据

Javascript 如何在localstorage中存储多个数据,javascript,jquery,Javascript,Jquery,我需要什么 我需要在数组中存储更多的数据,这样用户单击div时,相应的数据必须存储在数组中。 像 身份证号码:1223,城市:'芝加哥' 身份证号码:12333,纽约市 代码 第二步 /* fetch the data using from localstorage */ var id= []; var name= []; var city = []; var country =[]; var event_

我需要什么

我需要在数组中存储更多的数据,这样用户单击div时,相应的数据必须存储在数组中。 像

身份证号码:1223,城市:'芝加哥'

身份证号码:12333,纽约市

代码

第二步

     /* fetch the data using from localstorage */
        var id= [];
        var name= [];
        var city = [];
        var country =[];
        var event_url= [];

        // Retrieve the object from storage
        //var id, city, country,event_url;


        var id = localStorage.getItem('id');
        console.log(id);
        id = JSON.parse(id);
        var name = localStorage.getItem('name');
        name = JSON.parse(name);
        console.log(name);

        var name = localStorage.getItem('name');
        name = JSON.parse(name);

        var city = localStorage.getItem('city');
        city = JSON.parse(city);
        console.log(city);

        var country = localStorage.getItem('country');
        country = JSON.parse(country);
        console.log(country);

        var event_url = localStorage.getItem('event_url');
        event_url = JSON.parse(event_url);
        ///console.log(event_url);

        var image_url = localStorage.getItem('imageUrl');
        //event_url = JSON.parse(event_url);
        alert(image_url);
        console.log(image_url);
以下是快照:

我需要在数组中存储更多字符串。 我已尝试使用console.logid.length//undefined。 我还希望在localstoarge中存储更多的值

for (var i = 0; i < localStorage.length; i++) {
 console.log(localStorage.key(i))
   };

可以对整个对象进行字符串化并立即保存所有内容:

localStorage.setItem('event', JSON.stringify({
    id: sess_id,
    name: name,
    city: city,
    country: country,
    event_url: event_url,
    imageUrl: imageUrl
}));
它还将使代码更简单、更短:

function favaorite(sess_id, name, city, country, event_url, pointer) {

    /* store imageurl in localstorage */
    var imageUrl = '/images/star1_phonehover.png';

    // Save data to the current local store//
    if (typeof (localStorage) == 'undefined') {
        console.log('Your browser does not support HTML5 localStorage. Try upgrading.');
    } else {
        try {
            // Put the object into storage
            localStorage.setItem('event', JSON.stringify({
                id: sess_id,
                name: name,
                city: city,
                country: country,
                event_url: event_url,
                imageUrl: imageUrl
            }));
        } catch (e) {
            if (e == QUOTA_EXCEEDED_ERR) {
                console.log('Quota exceeded!'); //data wasn't successfully saved due to quota exceed so throw an error
            }
        }
    }
}
检索保存的事件数据时,只需执行相反的操作:

var eventData = JSON.parse(localStorage.getItem('event'));

可以对整个对象进行字符串化并立即保存所有内容:

localStorage.setItem('event', JSON.stringify({
    id: sess_id,
    name: name,
    city: city,
    country: country,
    event_url: event_url,
    imageUrl: imageUrl
}));
它还将使代码更简单、更短:

function favaorite(sess_id, name, city, country, event_url, pointer) {

    /* store imageurl in localstorage */
    var imageUrl = '/images/star1_phonehover.png';

    // Save data to the current local store//
    if (typeof (localStorage) == 'undefined') {
        console.log('Your browser does not support HTML5 localStorage. Try upgrading.');
    } else {
        try {
            // Put the object into storage
            localStorage.setItem('event', JSON.stringify({
                id: sess_id,
                name: name,
                city: city,
                country: country,
                event_url: event_url,
                imageUrl: imageUrl
            }));
        } catch (e) {
            if (e == QUOTA_EXCEEDED_ERR) {
                console.log('Quota exceeded!'); //data wasn't successfully saved due to quota exceed so throw an error
            }
        }
    }
}
检索保存的事件数据时,只需执行相反的操作:

var eventData = JSON.parse(localStorage.getItem('event'));
试着这样,

您必须创建一个对象并在每次单击时填写详细信息,将该对象推送到一个数组中,并使用JSON.stringify将该数组存储在本地存储中

再次检索时,使用JSON.parse解析该JSON

    function favaorite(sess_id,name,city,country,event_url,pointer){
       var eventData = JSON.parse(localStorage.getItem('eventData '));
       if(eventData ==null){
           eventData=[];
       }

       Var details={};

       details["sess_id"]=sess_id;
       details["name"]=name;
       details["city"]=city;
       details["country"]=country;
       details["event_url"]=event_url;
       details["pointer"]=pointer;

      eventData.push(details);

      localStorage.setItem('eventData', JSON.stringify(eventData));
    }
在检索并将字符串解析为json时,您将获得这些单击事件详细信息的数组

var EventDetails=JSON.parse(localStorage.getItem('eventData '));
试着这样,

您必须创建一个对象并在每次单击时填写详细信息,将该对象推送到一个数组中,并使用JSON.stringify将该数组存储在本地存储中

再次检索时,使用JSON.parse解析该JSON

    function favaorite(sess_id,name,city,country,event_url,pointer){
       var eventData = JSON.parse(localStorage.getItem('eventData '));
       if(eventData ==null){
           eventData=[];
       }

       Var details={};

       details["sess_id"]=sess_id;
       details["name"]=name;
       details["city"]=city;
       details["country"]=country;
       details["event_url"]=event_url;
       details["pointer"]=pointer;

      eventData.push(details);

      localStorage.setItem('eventData', JSON.stringify(eventData));
    }
在检索并将字符串解析为json时,您将获得这些单击事件详细信息的数组

var EventDetails=JSON.parse(localStorage.getItem('eventData '));

ist可能事件{id:1223,},{id:333},{id:222}应该存储在localstoargyes中吗?是的,可能。只需存储一个对象数组。stringify[{id:1223},{id:333},{id:222}]。我怎么能像JSON那样存储呢条件,然后显示图像对不起,我不明白你的意思。请为事件添加相关代码。id!=问题,所以我可以看一看。是否有可能事件{id:1223,},{id:333},{id:222}应该存储在localstoargyes中,这是可能的。只需存储一个对象数组。stringify[{id:1223},{id:333},{id:222}]。我怎么能像JSON那样存储呢条件,然后显示图像对不起,我不明白你的意思。请为事件添加相关代码。id!=问题,以便我可以看一看。完美答案,我期待着这伟大的欢呼:完美答案,我期待着这伟大的欢呼: