Pergunta

Estou criando uma pequena loja de web. Quando adiciono produtos à minha cesta, simplesmente adiciono um objeto de dados a uma divi a este:

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

Isso funciona muito bem, desde que eu não recarregue uma página. Minha pergunta é essa, qual é a melhor maneira de cache esses dados para que eu possa recarregar a página, deixar a página por 30 min e outras coisas que você pode criar. É para adicionar um cookie ao navegador de usuários ou o jQuery tem outra maneira de lidar com isso? Obrigado por qualquer ajuda. A propósito, se os cookies são a solução, o que acontece se o usuário não aceitar cookies?

EDITAR

Seria uma boa solução tentar usar um cookie, se o usuário não aceitar isso, faça uma chamada AJAX para um serviço da web para lidar com isso no lado do servidor e retornar dados JSON?

Edição final

Ok, então vou usar cookies. Agora, como faço para armazenar dados JSON em um cookie? Como você pode ser na linha de código acima, posso ter muitos produtos com vários valores. Assim:

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

Alguns como a necessidade de fazer um loop de cada campo de dados e salvá -lo em um novo tipo de dados JSON. Alguém sabe como isso é feito?

Atenciosamente Marthin

Foi útil?

Solução

JQuery é JavaScript.

Isso significa que você é limitado dentro da visualização atual da página.

Para persistir dados para o site, você pode

  • Use sessões, mas você precisa de uma linguagem lateral do servidor como PHP, ASP, Ruby, etc.
  • armazenar cookies (Se o usuário não aceitar, você não pode fazer nada ..)
  • Usar HTML5 LocalStorage, mas o suporte do navegador é limitado
  • combinação do acima.

Outras dicas

Os cookies seriam uma solução, mas lembre -se de que, a cada nova página carregar, as informações armazenadas no cookie também são enviadas para o servidor.

Se o usuário não aceitar cookies. Isso não vai funcionar.

Uma solução muito mais agradável estará esperando por nós no futuro com HTML5 Web Storage.

Uma carga de página inteira é inerentemente "redefinir" o seu JavaScript. O navegador não manterá o estado JavaScript entre as cargas de página. Suas opções são criar um cookie ou manter essas informações no estado do servidor. Esta é praticamente a edição clássica de uma teia apátrida, simplesmente não se lembra.

Sugiro usar um cookie em conjunto com o armazenamento deste cache no lado do servidor.

Você teria que usar um cookie e uma solução do lado do servidor, se quiser usar o LocalStorage, eu iria com a grama.

http://blog.westcoastlogic.com/lawnnchair/

É muito doce.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top