我试图检索我设置的所有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();
}
谢谢。
答案 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));