我想将此脚本更改为localforage,我尝试将所有关键字localStorage替换为localforage但不起作用。
当此功能仍在使用localStorage时,它运行良好。但是,由于localStorage 5 MB的限制,我将其更改为localforage。
然后我运行代码不起作用但完全没有找到错误控制台。
function tampil_unit(){
$.ajax({
url:url+'tampil_unit',
data: { },
method: 'POST',
})
.done(function(data) {
var unit = JSON.parse(data);
localforage.unit = JSON.stringify(unit);
})
.fail(function() {
})
.always(function() {
if(localforage.unit){
var data = JSON.parse(localforage.unit);
for (var x = 0; x < data.unit.length; x++) {
$("#id_unit").append("<option value='"+data.unit[x].id_unit+"'>"+data.unit[x].nama_unit+"</option>");
$("#id_unit_up").append("<option value='"+data.unit[x].id_unit+"'>"+data.unit[x].nama_unit+"</option>");
}
}
});
}
function doShowAll() {
var key = "";
var list = "<tr><th align='center'>Tanggal</th><th align='center'>Action</th></tr>\n";
var i = 0;
for (i = 0; i <= localforage.length - 1; i++) {
key = localforage.key(i);
if(key!='id_sales' && key!='rbm' && key!='unit' ){
list += "<tr><td align='center'>" + key + "</td><td align='center'><button onclick='kirim_data_offline("+localforage.getItem(key)+")'>Kirim data</button></td></tr>\n";
}
}
document.getElementById('list_offline').innerHTML = list;
}
&#13;
我的代码中有什么问题,你能帮助我吗?
答案 0 :(得分:1)
localForage
不是localStorage
的替代品。它不是同步的,所以你不能简单地用localStorage
找到+替换localForage
。
您也无法访问密钥,因为localForage
上的属性(示例中的localForage.unit
不起作用)。你需要这样做:
localForage.get('unit')
.then(function(value) {
console.log(value);
});