Ich mache ein Programm und ich möchte JavaScript-Objekte auf lokalen Speicher schieben, ich möchte keine andere Methode als lokalen Speicher verwenden. Ich bekomme ein Element, aber ich bekomme keine zusätzlichen Elemente zum lokalen Speicherarray hinzugefügt. hier ist mein Javascript-Code:Warum werden meine Objekte nicht in den lokalen Speicher verschoben?
FÜR NEUE CODE AKTUALISIERT
var form = document.getElementsByTagName("form")[0];
form.setAttribute("method", "POST");
var data = JSON.parse(localStorage.getItem('data') || '[]')
if (data == null) {
data = new Array();
}
var add = document.getElementsByTagName("button")[0];
add.addEventListener('onclick',validate);
console.log(add);
function validate() {
var age = document.getElementsByName("age")[0].value;
var relation = document.getElementsByName("rel")[0].value;
var list = document.getElementsByTagName("ol")[0];
var myObj = {"age": age, "relation": relation};
data.push(myObj);
localStorage.setItem("data", JSON.stringify(data))
alert(data);
}
console.log(data);
zu lesen, wenn mit var data = JSON.parse (localStorage.getItem ('data') || '[]') ich: Uncaught Syntaxerror: unerwartete Zeichen o in JSON an Position 1 bei JSON.parse () bei index.js: 4 als Fehler –
tygrim
Fügen Sie einen Versuch/Catch um die JSON-Parse-Linie. – Ivo
reparierte den Fehler, musste mein altes json-Objekt löschen, aber jetzt, wann auch immer ich die Seite lade, bekomme ich noch ein leeres Array, egal wie viele Elemente ich hinzufüge – tygrim