2009-10-27 6 views
6

Quiero guardar el valor href en una cookie, problema es que cuando hago la cookie se escapen las barras diagonales, así que por ejemploQuiero caracteres sin escape en mi galleta (jQuery)

código es

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

html es

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

Cuando almaceno el href va a guardar como

%2Fcz%2Fcz.html 

Pero necesito que se almacene como /cz/cz.html hay una forma de descifrar caracteres en Jquery, he visto esto en tutoriales de cookies javascript estándar, pero no estoy seguro de cómo hacerlo con Jquery plugin de galletas

Gracias

Joe

Respuesta

4

al recuperar la cookie a través del plug-in de cookies a través de jQuery $.cookie('mycookie'), será automáticamente unes con la función correcta que es decodeURIComponent.

Si necesita decodificar la cadena en el extremo del servidor, tendrá que usar la función de decodificación de URL en el idioma que esté utilizando.

Si necesita tener una cookie puede codificar porque el extremo del servidor no se puede cambiar el uso de cookies codificadas, debe olvidar el plugin de jQuery andjust establecer la cookie de sí mismo:

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

Para el valor de este /cz/cz.html estará bien, pero hay muchos otros caracteres que no puede almacenar en una cookie, por lo que jQuery se les escapa.

+0

gracias, que ha hecho el truco por ahora –

4

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

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

De here

+1

Sólo para cualquier caso que se va a suprimir el carbón por defecto escapar. El $ .cookie.raw llamado desde una función no desactiva el escape globalmente –

Cuestiones relacionadas