首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用JQuery和cookie插件创建具有非url编码值的Cookie

使用JQuery和cookie插件创建具有非url编码值的Cookie
EN

Stack Overflow用户
提问于 2011-09-30 05:19:12
回答 2查看 2.3K关注 0票数 3

我在客户端创建了一个cookie,并在其中添加了3个用逗号分隔的字符串值。字符串包含特殊字符。问题是,当我在后面的代码中获取cookie的值时,cookie的值如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
4%2CHealth%20Related%2C%2Fmysite%2FYourKB%2FHealth-Related

我想去掉这些%符号和值..替换这些字符是唯一的方法吗?如何才能使我的cookie不包含这些值,而只包含一些特殊字符的简单文本?

编辑1

我现在正在创建这样的cookie,但问题仍然存在。请帮帮我。

$.cookie(‘我的$.cookie’,取消转义(MyString),{路径:'/‘},{过期: 30 });

EN

回答 2

Stack Overflow用户

发布于 2014-10-29 15:58:38

我知道这个帖子很古老,但我只是偶然遇到了它,并遇到了raw setting。将它设置为true为我解决了这个问题。

票数 1
EN

Stack Overflow用户

发布于 2011-09-30 06:34:14

为完整起见,这%xx个字符是url中不允许的某些字符的url编码。

因此:%2C是一个逗号,%2F是一个正斜杠。

考虑到这一点,您将在哪里再次检查cookie的值?

此代码可以工作,并将正确的值作为警告提供给您:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"> </script>
    <script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js"></script>
  </head>
  <body>
<script language="javascript">
<!--
$(function(){
  var myString = '4%2CHealth%20Related%2C%2Fmysite%2FYourKB%2FHealth-Related';
  $.cookie('MyCookie', unescape(myString) );
  alert($.cookie('MyCookie'));
    });
-->
</script>
  </body>
</html>

因此,基本上上面的代码应该可以工作,但如果您正在检查服务器,请确保您的服务器端技术也解码了该值。在ASP.NET中,当你调用Request.Cookies"MyCookie".Value时,这是自动完成的,但AFAIK浏览器只会将其作为url编码值进行传输,因此它必须在服务器上再次解码。

HTH Alex

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7606230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文