Frage

Im einen kleinen Webshop zu schaffen. Wenn ich Produkte meinen Warenkorb hinzufügen Ich einfach ein Datenobjekt zu einem div li folgt aus:

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

Dies funktioniert gut, solange ich eine Seite neu zu laden dont. Meine Frage ist, was ist die beste Art und Weise in jquery diese Daten zwischenzuspeichern, so dass ich die Seite neu laden können, lassen Sie die Seite für 30 Minuten und andere Sachen, die Sie mit oben kommen kann. Ist es ein Cookie an den Browser des Benutzers hinzuzufügen, oder tut jquery eine andere Art und Weise, dies zu umgehen? Thx für jede Hilfe. By the way, wenn Cookies die Lösung ist, was passiert, wenn der Benutzer tut Cookies akzeptieren ??

Bearbeiten

wäre es eine gute Lösung sein, ein Cookie zu versuchen und zu verwenden, wenn der Benutzer dosnt das akzeptiert, dann einen Ajax-Aufruf zu machen, um einen Webservice damit umgehen serverseitige und Rückkehr json Daten?

FINAL EDIT

Ok, also werde ich Cookies verwenden. Nun Wie speichere ich ein JSON-Daten in einem Cookie? wie Sie in der obigen Codezeile se i viele Produkte mit mehreren Werten aufweisen. Wie folgt aus:

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

ich einige, wie notwendig Schleife thrue jedes Datenfeld und speichern Sie es in einem neuen JSON-Datentyp. Wer weiß, wie dies geschehen ist?

Mit freundlichen Grüßen Marthin

War es hilfreich?

Lösung

jQuery ist Javascript.

Das heißt, Sie in der aktuellen Seite Ansicht begrenzt sind.

Um anhalten Daten auf der Website, können Sie entweder

  • Verwenden Sessions, aber Sie müssen eine serverseitige Sprache wie PHP, ASP, Rubin, etc ..
  • speichern Cookies (, wenn der Benutzer nicht akzeptiert man kann nichts tun .. )
  • Verwenden Sie HTML5 local , aber Browser-Unterstützung ist begrenzt
  • Kombination der oben genannten.

Andere Tipps

Cookies wären eine Lösung, aber bedenken Sie, dass bei jeder neuen Seite zu laden, die Informationen im Cookie gespeicherten auch an den Server gesendet werden.

Wenn der Benutzer keine Cookies akzeptiert. Das wird nicht funktionieren überhaupt nicht.

Eine viel schönere Lösung wird für uns in der Zukunft wartet mit HTML5 Web-Speicher .

Ein vollständiger Laden der Seite wird von Natur aus auf „Reset“ Ihr Javascript. Der Browser wird keine Javascript Zustand zwischen Seite Lasten halten. Ihre Optionen sind ein Cookie zu erstellen oder diese Informationen in Server Zustand zu halten. Das ist so ziemlich das klassische Problem einer stateless Web, wird es einfach nicht erinnern.

Ich schlage vor, mit einem Cookie in Verbindung mit Speicherung diese Cache auf der Server-Seite.

Sie möchten ein Cookie verwenden und eine serverseitige Lösung Wenn Sie die Sie verwenden möchten local ich mit Lawnchair gehen würde.

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

Es ist ziemlich süß.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top