Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js:如何通过请求中的cookie名称获取cookie值?_Node.js - Fatal编程技术网

node.js:如何通过请求中的cookie名称获取cookie值?

node.js:如何通过请求中的cookie名称获取cookie值?,node.js,Node.js,如何通过cookie名称获取cookie值 res.headers['set-cookie']返回所有cookie 我需要像res.headers['set-cookie']['cookieName']我发现这个解决方案可能适合您 var get_cookies = function(request) { var cookies = {}; request.headers && request.headers.cookie.split(';').forEach(funct

如何通过cookie名称获取cookie值

res.headers['set-cookie']
返回所有cookie


我需要像
res.headers['set-cookie']['cookieName']

我发现这个解决方案可能适合您

var get_cookies = function(request) {
  var cookies = {};
  request.headers && request.headers.cookie.split(';').forEach(function(cookie) {
    var parts = cookie.match(/(.*?)=(.*)$/)
    cookies[ parts[1].trim() ] = (parts[2] || '').trim();
  });
  return cookies;
};
然后你可以使用

get_cookies(request)['cookieName']
但是如果你用的是express,我会建议你

var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
然后获取cookie值。您可以

req.cookies['cookieName']

希望这有帮助。我找到了这些解决方案并为我工作。

Rajan Lagah的打字脚本版本

const getCookiesAsCollection = function (rawCookie: string): Record<string, string> {
    const cookies: Record<string, string> = {};
    rawCookie && rawCookie.split(";").forEach(function (cookie: string) {
        const parts: RegExpMatchArray | null = cookie.match(/(.*?)=(.*)$/);
        if (parts && parts.length) {
            cookies[parts[1].trim()] = (parts[2] || "").trim();
        }
    });
    return cookies;
};
const getCookiesAsCollection=function(rawCookie:string):记录{
常量cookies:Record={};
rawCookie&&rawCookie.split(;).forEach(函数(cookie:string){
常量部分:RegExpMatchArray | null=cookie.match(/(.*)=(.*)$/);
if(零件和零件长度){
cookies[parts[1].trim()]=(parts[2]| |“”).trim();
}
});
归还饼干;
};

res
通常是响应对象的名称,而不是请求对象的名称,
set cookie
是响应头,而不是请求头。您的问题标题和正文似乎在谈论不同的事情。您真正想要的是什么?您是否使用任何类型的库来帮助您解析HTTP请求并做出响应?e、 g.Express?@Quentin我正在使用请求模块,并试图在获取请求后获取cookie“sessionID”。只有当您向js文件发出请求时,此功能才起作用。你如何使它成为可能的html文件。这是真棒!谢谢第一种方法完全有效,但我最终选择了快速cookie解析器路线。感觉更“合适”。