node.js:如何从请求中按cookie名称获取cookie值?

时间:2018-08-12 20:06:34

标签: node.js

我如何通过cookie名称获取cookie值?

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

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

2 个答案:

答案 0 :(得分:3)

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; }; 的答案的打字稿版本,并进行了更多检查:

#include <iostream>
using namespace std;
int main() {
    int y=3;
    int z = (--y) + (y=10);
    printf("%d \n", z);
}

答案 1 :(得分:2)

我发现此解决方案可能对您有用

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']

但是,如果您使用快递,我会建议您

var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());

然后获取cookie值。您可以

req.cookies['cookieName']

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