从cookie中提醒加密字符串时,会删除Javascript +字符

时间:2015-07-29 10:03:42

标签: javascript jquery cookies encryption jquery-plugins

我在cookie中有一个加密的字符串,该字符串已使用CryptoJS加密。当我使用名为CookiesManager的工具查看cookie时,cookie是正常的。但是当我从cookie中提醒它时,所有+字符都被删除了。我正在使用一个名为jQuery Cookie的jQuery插件。我试图将编码设置为UTF-8,但+字符仍然被删除。 代码(JS):

<script type="text/javascript" charset="UTF-8">
var host = $.cookie("encrHost");
alert("Host: " + host);
</script>

收到警报的内容:

  

主持人:U2FsdGVkX18vi2P / aWBEA4AzwE4 oMDFP2 tucKLyKk =

Cookies Manager屏幕截图: Cookies Manager

1 个答案:

答案 0 :(得分:2)

这是因为默认情况下,cookie是按照插件主页中所述进行网址编码的:

  

默认情况下,使用encodeURIComponent / decodeURIComponent在写入/读取时编码/解码cookie值。通过将raw设置为true来绕过它:

$.cookie.raw = true;

所以只需在调用它之前添加$.cookie.raw = true,你就应该这样做。