字符串包含 ;.
Cookies with string containing ;
所以我为我的网站使用 cookie(大惊喜 ;-) ),但可能令人惊讶的是,出于某种原因(不要问我为什么)我在 cookie 中存储了一些css
样式的值,这一切都很好,直到你在那里添加一个不应该存在的;
。
所以我存储的 cookie 看起来像这样:
token=9d133691-a955-4980-bf1d-9492d3c64026;
user=2601;
config=JSON"{
"socketAddress":"string",
...
bunch more values
...
"views":[{
"showInMenu":true,
"route":"Opgave Liste",
"routeParameters":{"afdeling":true},
"viewFunctions":{
"itemList":{
"css":{
"class":"bold",
"conditional":{
"condition":"[REG.TASK] === 'off'",
"false":{
"style":"background:red;"
}
}
}
}
}
}]
}";
我得到饼干的方式是这样的:
<script>
function readCookie(){
var cookie = document.cookie;
console.info('base cookie : ', cookie);
}
readCookie();
</script>
我得到的结果是正确的饼干,但是它在background:red
后立即被切割。正如我之前提到的,我知道为什么,我的问题是,有没有办法防止这种情况并且仍然在字符串中;
。是否有某种像您在字符串中那样的转义字符:即。 '"
?
在执行 JSON 字符串化之前尝试使用 encodeURIComponent(css)
,然后使用 decodeURIComponent
来获取实际值。
例如:
{
"style": encodeURIComponent("background:red;")
}
(您可以/应该使用实用程序函数自动执行此过程)。
相关文章:
- 如何使用JQuery在HTML中创建包含字符串参数的引号的onclickjavascript链接
- 如何在系列数据中包含字符串以提取工具提示点格式
- lodash_.包含字符串中多个值之一
- 使用video-js构建一个包含字符串的HTML视频
- 如何检查数据表是否有任何包含字符串的行并获取它的行索引
- 如何从包含字符串的对象中删除引号
- 检查上一个(-1&-2)url是否包含字符串
- 如果字符串保存在变量中,如何查找包含字符串的ID
- jQuery检查URL是否包含字符串
- 如果URL包含字符串don't运行jQuery函数
- 谷歌脚本如果文件名包含x字符串日志“;x被发现“;缺少括号
- 检查值是否包含字符串字符
- 如果不包含字符串,则使用 jQuery 在下拉列表中选择空值
- 根据包含字符串的值选择<选择> <选项>
- AngularJS - 如果包含字符串,则删除ng重复项
- 检查身份验证对话框中的领域是否包含字符串
- 根据对象中的值是否包含字符串来删除该值
- 重定向 挖空 如果包含字符串,则可观察到
- 从数组中提取索引,该数组包含字符串中的每个单词
- 在 JW 播放器开始之前不显示图像,如果 URL 包含字符串 base64