Question

Im la création d'une petite boutique en ligne. Quand j'ajouter des produits à mon panier i ajouter simplement un objet de données à un div li ceci:

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

Cela fonctionne très bien aussi longtemps que je ne recharger une page. Ma question est, ce qui est la meilleure façon jquery pour mettre en cache ces données afin que je puisse recharger la page, quitter la page pendant 30 minutes et d'autres choses que vous pouvez trouver. Est-il d'ajouter un cookie au navigateur des utilisateurs ou ne jquery ont une autre façon de gérer cela? Thx pour toute aide. Soit dit en passant, si les cookies est la solution, ce qui se passe si l'utilisateur ne marche pas accepter les cookies ??

EDIT

Serait-il une bonne solution pour essayer d'utiliser un cookie, si l'utilisateur dosnt accepter, puis faire un appel ajax à un webservice pour manipuler côté serveur et renvoyer des données JSON?

EDIT FINAL

Ok, donc je vais utiliser des cookies. Maintenant, comment puis-je stocker des données JSON dans un cookie? comme vous pouvez le soi dans la ligne de code ci-dessus i peut avoir de nombreux produits à valeurs multiples. Comme ceci:

$("#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'});

Je dois certains comment boucle thrue chaque champ de données et de l'enregistrer dans un nouveau type de données JSON. Tout le monde sait comment cela se fait?

Cordialement Marthin

Était-ce utile?

La solution

jQuery est javascript.

Cela signifie que vous êtes limité dans la vue de la page courante.

Pour conserver les données sur le site, vous pouvez soit

  • Utilisez vos sessions, mais vous avez besoin d'un langage côté serveur comme php, asp, rubis, etc ..
  • les cookies de magasin ( si l'utilisateur n'accepte pas que vous ne pouvez rien faire .. )
  • Utilisez HTML5 localStorage , mais le soutien du navigateur est limité
  • combinaison de ce qui précède.

Autres conseils

Les témoins seraient une solution, mais gardez à l'esprit que chaque nouvelle page charger les informations stockées dans le cookie est également envoyer au serveur.

Si l'utilisateur n'accepte pas les cookies. Cela ne fonctionnera pas du tout.

Une solution beaucoup plus agréable sera nous attend dans l'avenir avec HTML5 stockage web .

Une pleine charge page va par nature à « reset » de votre javascript. Le navigateur ne tiendra pas javascript Etat entre chargement de la page. Vos options sont à créer un cookie ou de tenir ces informations dans l'état du serveur. Ceci est à peu près la question classique d'un web sans état, il ne veut tout simplement pas se souvenir.

Je suggère d'utiliser un cookie conjointement avec le stockage de ce cache sur le côté serveur.

Vous devez utiliser un cookie et une solution côté serveur Si vous souhaitez utiliser localStorage je partirais avec Lawnchair.

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

Il est assez doux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top