私はCookieパーサーを使用しています。チュートリアルではすべて、Cookieの設定方法と有効期限について説明していますが、これらのCookieの値を取得する方法については教えていません。
最初に、Cookieはサーバーリクエストおよびクライアント側に保存でクライアントに送信されることに注意してください。ユーザーがWebサイトをロードするたびに、このCookieがリクエストとともに送信されます。
したがって、クライアント側でCookieにアクセスできます(たとえば、クライアント側でJavaスクリプト)を使用して
document.cookie
ブラウザのコンソール(F12)を開き、次のように入力して、クライアント側でこれをテストできます。
console.log(document.cookie);
を使用して、サーバー(あなたの場合、expressjs)側からcookieにアクセスできます。
req.cookies
ベストプラクティスは、クライアント側で正しく保存されているかどうかを確認することです。すべてのブラウザがユーザーの許可なしにCookieの保存を許可しているわけではないことに注意してください。
あなたのコメントによると、あなたのコードは次のようなものでなければなりません
var express = require('express');
var app = express();
var username ='username';
app.get('/', function(req, res){
res.cookie('user', username, {maxAge: 10800}).send('cookie set');
});
app.listen(3000);
これがあなたを助けることを願っています
var app=requir('express')();
app.use('/',(req,res) => {
var cookie = getcookie(req);
console.log(cookie);
});
function getcookie(req) {
var cookie = req.headers.cookie;
//user=someone; session=QyhYzXhkTZawIb5qSl3KKyPVN (this is my cookie i get)
return cookie.split('; ');
}
出力
'user=someone',
'session=QyhYzXhkTZawIb5qSl3KKyPVN' ]
この質問に出くわした人々のために、これは私がやった方法です:
Expressでパッケージ化されなくなったため、Express Cookieパーサーミドルウェアをインストールする必要があります。
npm install --save cookie-parser
次に、次のように設定します。
const cookieParser = require("cookie-parser");
const app = express();
app.use(cookieParser());
次に、Cookieにアクセスできます
req.cookies
お役に立てば幸いです。