【问题标题】:how to create a cookie in nodejs socket.io如何在nodejs socket.io中创建一个cookie
【发布时间】:2021-07-17 19:40:48
【问题描述】:

我试图在使用 socket.io 时创建一个 cookie。我能够读取 cookie,但找不到有关如何创建 cookie 的任何信息。

 socket.on('test', async function(){
    
    //  view set cookies (works!)
    console.log('cookies', socket.handshake.headers.cookie);

    // create cookie here...
});

谢谢

【问题讨论】:

    标签: javascript node.js socket.io


    【解决方案1】:

    您可以像在 mdn 文档中那样使用 setcookies() 设置一个 cookie,然后使用 cookie api 读取它

    【讨论】:

    • 我在套接字中尝试了该方法,但没有成功,请问您有示例吗?
    【解决方案2】:

    您可以使用与document.cookie 相同的方式进行操作,但可以:

    document.cookie = ";mycookie=myval";
    

    你会的:

    socket.handshake.headers.cookie = ";mycookie=myval; expires=cookieDate; path=cookiePathOnWebsite"
    

    例如:

    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = date.toGMTString();
    socket.on('test',async function(){
      socket.handshake.headers.cookie = ";foo=bar; expires="+date+";path=/"
    });
    

    会在您网站的主页上设置一个 cookie,将foo 定义为bar

    【讨论】:

    • 感谢您的评论,我尝试使用您的示例代码设置 cookie,但我没有在:socket.handshake.headers.cookie 中看到它:请问我在这里缺少什么?
    猜你喜欢
    • 2016-01-18
    • 2013-08-19
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多