节点快速响应Cookie值已编码

时间:2016-02-09 17:53:04

标签: node.js express

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

有什么建议吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

唉,我找到了它!

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

encode选项需要设置为String。

答案 1 :(得分:4)

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

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

...

res.cookie(cookieName, cookieValue, { encode: myCookieEncode })

答案 2 :(得分:1)

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

您可以从here

了解更多信息