2017-01-27 41 views
0

我試圖檢索我設置的所有localStorage.setItem(),但此時我沒有成功。如何使用javascript檢索localStorage數據

這是我的代碼

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); 
    } 
}); 

現在我成功地將其保存到本地存儲,但我不知道該如何找回這一切。

這是我的代碼來檢索它。

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

    return "blank so far" 
} 

我知道我需要把價值作爲回報,但我不知道如何返回所有這些3 getItem。

而這正是我需要調用localStorageGetItem()

$(document).ready(function() { 
    localStorageGetItem(); 
} 

謝謝。

+1

直到你設置它才能得到它...... ajax是異步的......這可能是你的問題 –

+1

你想從LocalStorage返回所有三個值嗎?然後將它們返回到數組或對象中。 – Xufox

+0

看起來代碼是正確的。確保在檢索前正確設置數據。 – poushy

回答

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

我知道我需要把價值作爲回報,但我不知道如何返回所有這些3 getItem。

您可以像這樣將它們分配到一個新的對象或通過localStorage獲取它們,因爲它是一個全局屬性。

但是,爲什麼你水溼revieve這些問題是由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)); 
+1

'myStorage'的目的是什麼? – Xufox