Ci sono alcuni passaggi che è necessario prendere per memorizzare correttamente queste informazioni nel vostro localStorage. Prima di arrivare al codice, tuttavia, tieni presente che localStorage (al momento attuale) non può contenere nessun tipo di dati tranne stringhe. Sarà necessario serializzare la matrice per la memorizzazione e quindi analizzarla per apportare modifiche.
Fase 1:
Il codice Primo frammento di seguito deve essere eseguito solo se non si è già memorizzando una matrice serializzato nella variabile localStorage session
.
Per garantire la vostra localStorage è configurato correttamente e memorizzare una matrice, eseguire il seguente frammento di codice prima:
var a = [];
a.push(JSON.parse(localStorage.getItem('session')));
localStorage.setItem('session', JSON.stringify(a));
Il codice di cui sopra deve essere eseguito solo volta e solo se non si è già memorizzando una matrice nella variabile locale session
. Se si sta già facendo questo passare al punto 2.
Fase 2:
Modificare la funzione in questo modo:
function SaveDataToLocalStorage(data)
{
var a = [];
// Parse the serialized data back into an aray of objects
a = JSON.parse(localStorage.getItem('session'));
// Push the new data (whether it be an object or anything else) onto the array
a.push(data);
// Alert the array value
alert(a); // Should be something like [Object array]
// Re-serialize the array back into a string and store it in localStorage
localStorage.setItem('session', JSON.stringify(a));
}
Questo dovrebbe prendersi cura di tutto il resto per voi. Quando lo analizzi, diventerà una serie di oggetti.
Spero che questo aiuti.
Tenta di usare 'window.a = []; 'e quindi spingere in questo modo; 'Window.a.push (receiveddata)'. O semplicemente memorizzalo una volta in una nuova "a" all'inizio della funzione. –
sovrascrive ancora – nielsv
Lo stai facendo anche sull'ingresso effettivo? 'localStorage.setItem ('session', window.a);' –