で、空である:私は/
を訪問したときにReq.headers.cookieは、私は次のセットアップを持っていてもExpressでリクエストヘッダでクッキー
const express = requires("express");
const path = requires("path");
const bodyParser = requires("body-parser");
const cookieParser = requires("cookie-parser");
let server = express();
server.set("port", (process.env.PORT || 5000));
server.set("views", path.join(__dirname, "/views"));
server.set("view engine", "ejs");
server.use(cookieParser());
server.use(express.static(self.workingDirectory + "/public"));
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));
server.use((req, res, next) => {
// if req.cookies exists and testcookie is undefined within req.cookies
if (req.cookies && typeof req.cookies["testcookie"] === "undefined") {
console.log("Setting cookie! Testcookie was not found");
res.cookie("testcookie", "test", {
maxAge : ((((1000*60)*60)*24)*7), /* expire a week from today */
httpOnly: true /* document.cookie doesn't return this cookie */
});
}
next();
});
server.get("/", (req, res) => { res.render("pages/index"); });
server.listen(server.get("port"),() => { console.log("Server started!"); });
だからクッキーは、適切な、しかし、その後、すべての訪問上に設定されていますそれは設定され続ける。
レスポンスヘッダ
がそれらにクッキーを持っている:私は新しいミドルウェアを通じて
console.log(req.headers)
を実行すると、後でそれは、クッキーが設定されたはずにもかかわらず、/
へのすべての訪問で次のように表示され
ここで何か問題がありますか?何が間違っているのか分かりません... のプロパティのreq.cookies
にクッキーを設定するのは、cookie-parser
ではありませんか? req.headers.cookie
が空に戻るのはなぜですか? は、cookie-parser
と何かをコメントアウトすると空を返します。
console.log(req.headers)に使用しているミドルウェアの残りのコードも貼り付けることができます –
ブラウザの設定を確認することをお勧めします。クッキーは無効になっていると思います。うまく走った。 – ramasCoder