我正在尝试从localStorage获取信息,以传递给应用程序中的数据库。我在控制台中输入“localstorage”,它会显示正确的值,所以我相信它可以在那里进行检索。然而,由于某种原因,我无法得到数据。现在,变量rfidText正在通过键盘输入设置。我想通过抓取LocalStorage中“userid”中的字符串来设置它。下面我有一个评论,我已经尝试了,但不起作用。我在file1中调用localstorage.setitem(),在file2中调用localstorage.getitem():知道为什么吗?文件1的javascript是:
/*jslint browser: true*/
/*global $, jQuery*/
$(document).ready(function () {
"use strict";
var scanned = false,
scannedInput = [];
$(window).keypress(function (scanEvent) {
if (scanEvent.which >= 48 && scanEvent.which <= 57) {
scannedInput.push(String.fromCharCode(scanEvent.which));
}
setTimeout(function () {
if (scannedInput.length === 10) {
var userID = scannedInput.join("");
scanned = true;
window.localStorage.setItem('userID', userID);
$("#userId").val(userID);
if (scanned) {
window.location.href = "../html/registration.html";
}
}
scannedInput = [];
}, 500);
});
});
文件2的javascript是:
console.log(window.localStorage.getItem('userID')); // this prints
var rfidText = window.localStorage.getItem('userID');
console.log(rfidText); // this doesn't print
var avatarText = "";
var config = {
apiKey: xxx //private info
authDomain: xxx //private info
databaseURL: xxx //private info
storageBucket: xxx //private info
};
firebase.initializeApp(config);
var database = firebase.database();
function setAvatar(avatarName) {
avatarText = avatarName;
console.log(avatarText);
}
function writeToFirebase(idInput, languageInput, avatarInput, nameInput,
ageGroupInput) {
database.ref("RFID/" + idInput).set({
id: idInput,
language: languageInput,
avatar: avatarInput,
name: nameInput,
ageGroup: ageGroupInput,
});
}
function update() {
var rfidText = document.getElementById("rfidInput").value;
/* instead of the line above, I want to set rfidText with this line
var rfidText = localStorage.getItem("userID"); << doesn't work */
var languageText = document.getElementById("languageInput").value;
var nameText = document.getElementById("nameInput").value;
var ageGroupText = document.getElementById("ageGroupInput").value;
writeToFirebase(rfidText, languageText, avatarText, nameText,
ageGroupText);
}
可以使用localstorage.setitem(“key”,“value”);
进行设置
您可以使用localstorage.getitem(“key”);
获取它
您可以使用LocalStorage.RemoveItem(“key”);
删除它