我在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 =
答案 0 :(得分:2)
这是因为默认情况下,cookie是按照插件主页中所述进行网址编码的:
默认情况下,使用encodeURIComponent / decodeURIComponent在写入/读取时编码/解码cookie值。通过将raw设置为true来绕过它:
$.cookie.raw = true;
所以只需在调用它之前添加$.cookie.raw = true
,你就应该这样做。