2009-10-27 19 views
6

我想存儲在cookie href值,麻煩的是,當我做的cookie被轉義斜槓,因此,例如我想在我的餅乾轉義字符(jQuery的)

代碼

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

HTML是

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

在i存儲它被存儲爲

在href
%2Fcz%2Fcz.html 

但我需要它被存儲爲/cz/cz.html有沒有一種方法來解決Jquery中的字符問題,我已經在標準JavaScript Cookie教程中看到了這一點,但我不確定如何使用Jquery餅乾插件

感謝

回答

4

當您檢索通過$.cookie('mycookie')通過的jQuery插件餅乾餅乾,它會自動UNES使用正確的功能。

如果您需要在服務器端解碼字符串,則必須使用您正在使用的任何語言的URL解碼功能。

如果你需要有一個未編碼的cookie,因爲服務器到底能不能改變使用編碼的餅乾,你應該忘記的jQuery插件andjust設置cookie自己:

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

對於價值/cz/cz.html這沒問題,但是有很多其他字符不能存儲在cookie中,這就是jQuery爲什麼要轉義它們的原因。

+0

感謝,已經做的伎倆,現在 – 2009-10-27 16:59:11

4

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

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

here

+1

只是爲了誰去抑制默認字符轉義任何情況下。從函數調用的$ .cookie.raw不會全局禁用轉義 – 2013-05-26 10:33:41