Javascript + 警告来自 cookie 的加密字符串时字符被删除
Javascript + characters get removed when alerting encrypted string from cookie
我在 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>
收到警报的内容:
Host: U2FsdGVkX18vi2P/aWBEA4AzwE4 oMDFP2 tucKLyKk=
Cookie 管理器屏幕截图:
这是因为默认情况下,cookie 是 url 编码的,如插件主页所述:
By default the cookie value is encoded/decoded when writing/reading, using encodeURIComponent/decodeURIComponent. Bypass this by setting raw to true:
$.cookie.raw = true;
所以只需在调用之前添加 $.cookie.raw = true
就可以了。
我在 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>
收到警报的内容:
Host: U2FsdGVkX18vi2P/aWBEA4AzwE4 oMDFP2 tucKLyKk=
Cookie 管理器屏幕截图:
这是因为默认情况下,cookie 是 url 编码的,如插件主页所述:
By default the cookie value is encoded/decoded when writing/reading, using encodeURIComponent/decodeURIComponent. Bypass this by setting raw to true:
$.cookie.raw = true;
所以只需在调用之前添加 $.cookie.raw = true
就可以了。