node.js:如何通过请求中的cookie名称获取cookie值?
如何通过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
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解析器路线。感觉更“合适”。