【发布时间】:2016-12-13 13:30:21
【问题描述】:
我在编辑本地存储数据时遇到问题。我在本地存储中保存了 Array of Array-list 并且它可以工作,或者保存。但是,当我尝试编辑时,它只是临时编辑,当我刷新页面时,编辑的数据消失了,它显示了我保存的原始数据
function editinfo(){
var name = document.getElementById("nameB").value;
var price = document.getElementById("priceB").value;
var quant = document.getElementById("quantityB").value;
var retrieved = window.localStorage.getItem("done");
var pro = JSON.parse(retrieved);
for (i = 0; i < pro.length; ++i){
if(pro[i][0] === name){
pro[i][1]= price
pro[i][2] = quant;
} else{
console.log("There is no such data to edit");
}
}
window.localStorage.setItem("done", JSON.stringify(pro));
}
// 我将信息保存在本地存储中,我从服务器读取数据。 var bevInventory = $.getJSON('http://pub.jamaica-inn.net/fpdb/api.php?username=jorass&password=jorass&action=inventory_get');
function Info(){
var info = [];
bevInventory.done(function(result){
for(i = 0; i < result.payload.length; ++i){
if(result.payload[i].namn != ""){
var makeList = [result.payload[i].namn, result.payload[i].price, result.payload[i].count];
info.push(makeList);
}
}
var xx = window.localStorage.setItem("done", JSON.stringify(info));
})
return info;
}
【问题讨论】:
-
很可能是错字。向我们展示您如何保存、如何检索数据以及将 editInfo() 修复为当前格式不正确
-
你确定你的代码运行到
localStorage.setItem()吗?你的控制台有什么错误吗?pro返回什么? -
@lonut ,我在控制台中没有错误。其实我可以打印出本地存储内容
-
也许你用
localStorage.clear()清除了某处的本地存储? -
用代码更新你的问题并解释。不要将其添加为评论。
标签: javascript