[英]How to check if value exist in Local Storage data set?
我已經完成了一些有關本地存儲的研究。 似乎是存儲數據的不錯選擇。 在我的單頁應用程序中,我使用JSON存儲一些在我的應用程序中多次使用的數據。 我想知道是否可以用本地存儲替換JSON? 還有什么好處呢? 到目前為止,我已經能夠在本地存儲中加載數據,但無法檢查本地存儲中是否存在值以及如何讀取數據。 這是示例:
$.ajax({
type: 'POST',
url: 'App.cfc?method='+getMethod,
data: {'recID':recID},
dataType: 'json'
}).done(function(obj){
var numRecs = obj.RECORDCOUNT;
jsonData[recID] = obj.DATA;
localStorage.setItem(recID,JSON.stringify(obj.DATA));
var firstN = jsonData[recID].hasOwnProperty('F_NAME') == true ? $.trim(jsonData[recID]['F_NAME']['value']) : '',
lastN = jsonData[recID].hasOwnProperty('L_NAME') == true ? $.trim(jsonData[recID]['L_NAME']['value']) : '';
console.log(localStorage[recID] +'\n'+ localStorage[recID].hasOwnProperty("L_NAME")); //Check Local Storage if value exist
}).fail(function(jqXHR, textStatus, errorThrown){
if(jqXHR.status == 0){
alert("Fail to connect. Please check your internet connection.");
}else{
alert("Error: "+errorThrown);
}
});
這是JSON和localStorage數據的示例:
{"F_NAME":{"value":"John"},"L_NAME":{"value":"Smith"}}
我在控制台中轉儲數據后,JSON和本地存儲都具有相同的結構,但是hasOwnProperty()
在我在控制台中測試本地存儲的上述代碼示例中指示false
。 我想知道我的代碼是否無效或其他原因導致我的代碼失敗。 我想使用本地存儲的主要原因是用戶失去互聯網連接時的情況。 在那種情況下,我想將表單數據保存在本地存儲中,這樣用戶就不會丟失數據。 如果有人可以提供示例或任何提示的幫助,請告訴我。 謝謝!
localStorage
存儲字符串 ,由於您在保存時已經JSON.stringify()
,所以您會知道這些字符串 。 但是您需要更換支票
localStorage[recID].hasOwnProperty("L_NAME")
與
JSON.parse(localStorage[recID]).hasOwnProperty("L_NAME")
編輯:您有一個完整的對象 ,將其存儲為localStorage[recID]
,因此您需要對其進行解析,然后訪問生成的對象,例如:
const record = JSON.stringify({ "F_NAME": { "value": "John" }, "L_NAME": { "value": "Smith" } }); console.log(JSON.parse(record)['F_NAME']['value'])
JSON.parse(record)
成為對象,然后訪問其后代參數['F_NAME']['value']
。 括號的位置至關重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.