2009-10-27 5 views
6

Je veux stocker la valeur href dans un cookie, problème est quand je fais le cookie est d'échapper à la slashs, donc par exempleJe veux caractères unescaped dans mon cookie (jquery)

Code

est

$.cookie ("mycookie", $link.attr("href"), { path: '/', expires: 7 }); 

html est

<li><a id="czechrepublic" href="/cz/cz.html">Česká republika</a></li>

Quand je stocke le href il est stocké sous forme

%2Fcz%2Fcz.html 

Mais j'ai besoin qu'il soit stocké comme /cz/cz.html Y at-il un moyen de changer les caractères dans Jquery, je l'ai vu dans les tutoriels de cookie javascript standard mais je ne suis pas sûr de savoir comment le faire avec le Jquery plug-in biscuits

Merci

Joe

Répondre

4

Lorsque vous récupérez le cookie dans le plug-in cookie jQuery via $.cookie('mycookie'), il sera automatiquement UNES capé en utilisant la fonction correcte qui est decodeURIComponent.

Si vous devez décoder la chaîne à la fin du serveur, vous devrez utiliser la fonction de décodage d'URL dans la langue que vous utilisez.

Si vous avez besoin d'avoir un cookie non codé, car la fin du serveur ne peut pas être modifié pour utiliser les cookies encodés, vous devez oublier le plugin jQuery andjust mis le cookie vous:

document.cookie= 'mycookie='+$link.attr("href"); 

Pour la valeur /cz/cz.html cette ça ira, mais il y a beaucoup d'autres personnages que vous ne pouvez pas stocker dans un cookie, c'est pourquoi jQuery leur échappe.

+0

grâce, qui a fait l'affaire pour l'instant –

4

Utilisez decodeURIComponent(vartobedecoded.replace(/\+/g, " "));

6
$.cookie.raw = true 
$.cookie('mycookie','/cz/cz.html') 

De here

+1

Juste pour tous les cas qui va supprimer la fuite char par défaut. Le $ .cookie.raw appelé à partir d'une fonction ne pas désactiver l'échappement globalement –

Questions connexes