Domanda

Sto creando un piccolo negozio online.Quando aggiungo prodotti al carrello aggiungo semplicemente un oggetto dati a un div li questo:

$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400', articlenr:'klr441234'});

Funziona benissimo finché non ricarico una pagina.La mia domanda è questa: qual è il modo migliore in jquery per memorizzare nella cache questi dati in modo da poter ricaricare la pagina, lasciare la pagina per 30 minuti e altre cose che puoi inventare.Si tratta di aggiungere un cookie al browser dell'utente o jquery ha un altro modo per gestirlo?Grazie per qualsiasi aiuto.A proposito, se i cookie sono la soluzione, cosa succede se l'utente non accetta i cookie??

MODIFICARE

Sarebbe una buona soluzione provare a utilizzare un cookie, se l'utente non lo accetta, quindi effettuare una chiamata Ajax a un servizio Web per gestirlo lato server e restituire i dati JSON?

MODIFICA FINALE

Ok, quindi userò i cookie.Ora come posso memorizzare i dati JSON in un cookie?come puoi vedere nella riga di codice sopra, potrei avere molti prodotti con più valori.Come questo:

$("#ArticlesHolder").data('15', {name:'testname', nr:'4', price:'400',articlenr:'345345'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100', articlenr:'kltt444'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60', articlenr:'1235555'});

In qualche modo devo eseguire il loop di ciascun campo dati e salvarlo in un nuovo tipo di dati JSON.Qualcuno sa come si fa?

Cordiali saluti Marthin

È stato utile?

Soluzione

jQuery è JavaScript.

Ciò significa che sei limitato all'interno della visualizzazione della pagina corrente.

Per rendere persistenti i dati sul sito web, puoi farlo in entrambi i casi

  • Usa Sessions, ma hai bisogno di un linguaggio lato server come php, asp, ruby, ecc.
  • memorizzare i cookie (se l'utente non accetta non puoi fare nulla..)
  • Utilizzo Archiviazione locale HTML5, ma il supporto del browser è limitato
  • combinazione di quanto sopra.

Altri suggerimenti

I cookie sarebbe una soluzione, ma di tenere presente che con ogni nuovo carico pagina le informazioni memorizzate nel cookie viene anche inviare al server.

Se l'utente non accetta i cookie. Questo non lavoro a tutti.

Una soluzione più bello molto sarà in attesa per noi in futuro con HTML5 Web Storage .

A pieno carico pagina è intrinsecamente sta per "reset" il tuo javascript. Il browser non terrà stato javascript tra caricamento della pagina. Le opzioni sono per creare un biscotto o di tenere queste informazioni in stato del server. Questo è più o meno la questione classico di un web senza stato, semplicemente non si ricorderà.

Io suggerisco di usare un cookie in combinazione con la memorizzazione di questa cache sul lato server.

Si dovrebbe usare un biscotto e una soluzione lato server Se vuoi utilizzare localStorage mi piacerebbe andare con Lawnchair.

http://blog.westcoastlogic.com/lawnchair/

E 'abbastanza dolce.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top