如何使用javascript检索localStorage数据

时间:2017-01-27 02:46:31

标签: javascript local-storage

我试图检索我设置的所有localStorage.setItem(),但此时我没有成功。

这是我的代码

var base_url = window.location.origin;
$.ajax({
    type: 'POST',
    url: base_url + '/demo/now',
    dataType: 'json',
    success: function(data) {

        localStorage.setItem('visitor_info', JSON.stringify(data.visitor_info));
        localStorage.setItem('visitor_country', data.visitor_country);
        localStorage.setItem('phone2', data.phone2);
        localStorage.setItem('countryUrl', data.countryUrl);
    }
});

现在我已成功将其保存到localStorage,但我不知道如何检索所有这些。

这是我检索它的代码。

function localStorageGetItem() {
    localStorage.getItem('visitor_country');
    localStorage.getItem('phone2');
    localStorage.getItem('countryUrl');

    return "blank so far"
}

我知道我需要回报价值,但我不知道如何返回所有这3个getItem。

这是我需要调用localStorageGetItem()

的地方
$(document).ready(function() {
    localStorageGetItem();
}

谢谢。

2 个答案:

答案 0 :(得分:1)

如果我正确地阅读此内容,听起来您只想返回一个属性与localStorage中存储的某些键匹配的对象。

function localStorageGetItem() {
  return {
    visitor_country: localStorage.getItem('visitor_country'),
    phone2: localStorage.getItem('phone2'),
    countryUrl: localStorage.getItem('countryUrl')
  }
}

然后你可以像这样使用它......

var localData = localStorageGetItem();
console.log(localData.visitor_country); // etc

请注意,如果您在通过null存储数据之前调用此属性,则每个属性都为localStorage.setItem

答案 1 :(得分:-1)

  

我知道我需要回报价值,但我不确定如何返回所有这3个getItem。

你可以将它们分配到一个新对象中,或者像你一样通过localStorage获取它们,因为它是一个全局属性。

但Jaromanda X回答了你为什么无法解除这些问题的问题

var base_url = window.location.origin;
var myStorage = {}
$.when($.ajax({
type: 'POST',
url: base_url + '/demo/now',
dataType: 'json',
success: function(data) {

    localStorage.setItem('visitor_info', JSON.stringify(data.visitor_info));
    localStorage.setItem('visitor_country', data.visitor_country);
    localStorage.setItem('phone2', data.phone2);
    localStorage.setItem('countryUrl', data.countryUrl);
    myStorage = localStorage

}
})).then(console.log(myStorage));