Aujourd'hui, j'ai une solution AJAX où le serveur maintient la trace des sélections effectuez et met à jour la page. Je reflète cela, ce qui sera tout fait avec JavaScript sur le client jusqu'à ce que l'utilisateur soumettra réellement les données, les performances où assez mauvais sous charge avec l'ancienne solution. (C #, asp.net 4.0) p>
a trouvé une bonne façon de stocker une matrice en sérialisée avec JSON Link Texte A > p>
dire que j'ai un tableau comme celui-ci: {id, valeur} p>
Tout conseillez comment je peux stocker plusieurs des tableaux au-dessus d'un cookie? P>
4 Réponses :
dire que j'ai un tableau comme celui-ci: {id, valeur} p>
Ce n'est pas un tableau. C'est un objet. Vous pouvez utiliser plusieurs copies de ceux dans un tableau: p>
xxx pré> c'est un JSON a> chaîne pour un tableau contenant des objets -In dans ce cas, des objets avec une seule propriété,
foo code>, chacun ayant sa propre valeur, mais les objets ne doivent pas nécessairement avoir les mêmes propriétés et Ils peuvent avoir plusieurs propriétés. Par exemple: p>
xxx pré> c'est une chaîne JSON valide pour un tableau avec cinq entrées: p>
- un objet sans propriétés (par exemple, un objet "vide"). Li>
- un tableau avec quatre entrées. LI>
- une chaîne. li>
- Un objet avec quatre propriétés:
f0 code>,
f1 code>,
f2 code> et
tout code>.
f0 code>,
f1 code> et
f2 code> ont tous des valeurs de chaîne;
tout code> a une gamme de chaînes comme valeur. li>
- La réponse à vie, l'univers et tout. < / li> ul>
Vous pouvez transformer un objet ou une matrice en chaîne JSON valide (stringify) et inverser le côté du client de processus (parse) en utilisant l'une des bibliothèques de plusieurs bibliothèques. Crockford (l'inventeur de Json) a plusieurs sur Sa page GITUB , notamment JSON2.JS bien que json2.js s'appuie sur
eval code> pour analyse; Comme ce n'est pas vraiment idéal, vous pouvez utiliser
json_parse.js code> (un analyseur de descente récursive qui n'utilise pas
eval code>) ou
json_parse_state.js code> (A Machine d'état qui n'utilise pas
eval code>) à la place. p> blockquote>
Utiliser http://msdn.microsoft.com /en-us/library/cc836459(V=VS.85).aspx P> json.stringify code> pour générer une chaîne de l'objet tableau. P>
Les cookies ne stockent que des chaînes simples. Vous pouvez trouver votre propre système quelque chose comme ceci:
$content = [id,value];[text,textvalue]; setcookie("Array", $content);
convertir un tableau en une chaîne: Nous pouvons alors en faire un cookie: p> puis analyser: < / p>
Gardez simplement à l'esprit que vous ne pouvez stocker que 4 Ko par biscuits. Gardez également à l'esprit que les plus gros de vos cookies, plus le client doit envoyer des données lors de la réalisation de demandes.