Node Express响应Cookie值已编码

Dan*_*man 3 node.js express

我正在尝试使用Express在响应上设置cookie,但是它正在对值进行编码。我正在用等号设置一个值,但是在客户端上,它以%3D的形式出现。

有什么建议吗?

谢谢!

Dan*_*man 6

啊,我找到了!

http://expressjs.com/en/api.html#res.cookie

编码选项需要设置为字符串。


mer*_*.ye 5

Express req.cookie方法接受第三个参数作为配置,您可以在其中设置cookie值的编码方法。默认情况下,它使用encodeURLComponent,因此为防止这种情况,您可以定义一个自定义函数来覆盖它:

const myCookieEncode = function (val) {
    return val;
};

...

res.cookie(cookieName, cookieValue, { encode: myCookieEncode })
Run Code Online (Sandbox Code Playgroud)


小智 1

实际上,它默认编码为“HTML URL 编码”,因此在 URL 中,每个特殊字符都有一个代码,“=”有一个代码“%3D”。所以它只是转换成该代码

您可以从这里阅读更多内容