使用express设置cookie时,怎么使字符串内特殊符号不被encode?

在我用express设置cookie的时候,需要在cookie中存放带有" 和@的字符串,但是每次设置express都会把这些字符进行encode
如何才能让cookie里存放不被编码的字符串呢?
存的代码:

res.cookie(“test”, "test@qq.com", {‘maxAge’ : ‘10800000’});

结果:

图片描述

不考虑cookie在不同浏览器下解析不一致,也不考虑先编码再存然后在前端解码的方法。。因为之前我们的Java服务就能够存@符号,所以希望大家能帮我解开这个疑惑,为什么express就不能不转码呐。。

阅读 3.6k
2 个回答

不能转你就手动自己转嘛
encodeURIComponent

res.cookie('xx', 'xx', {
    encode: val => val
})

这样就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进