req.cookies ใน ExpressJS

ใน ExpressJS, req.cookies เป็นวัตถุที่อ้างถึงคุกกี้ที่ส่งพร้อมกับคำขอ

วัตถุนี้สามารถเข้าถึงได้จากตัวจัดการเส้นทางและตัวจัดการข้อผิดพลาด อนุญาตให้คุณเข้าถึงคุกกี้ที่ส่งพร้อมกับคำขอ ซึ่งคุณสามารถใช้เพื่อจดจำสถานะผู้ใช้หรือเพื่อกำหนดค่าแอปพลิเคชัน

ตัวอย่างเช่น โค้ดต่อไปนี้จะเข้าถึงค่าของคุกกี้ name:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const express = require('express');

const app = express();

app.get('/', (req, res) => {
// เข้าถึงค่าของคุกกี้ name
const name = req.cookies.name;

// ส่งคืนค่าของคุกกี้ name
res.send(name);
});

app.listen(3000, () => {
console.log('Server started on port 3000');
});

โค้ดนี้จะใช้วัตถุ req.cookies เพื่อเข้าถึงค่าของคุกกี้ name จากนั้นจะส่งคืนค่าของคุกกี้ name ไปยังไคลเอนต์

เมื่อคุณส่งคำขอ GET ไปยัง URL / ด้วยคุกกี้ name=John คุณจะเห็นข้อความ John

คุณยังสามารถใช้วัตถุ req.cookies เพื่อเข้าถึงคุกกี้ที่ส่งพร้อมกับคำขอ ในรูปแบบอื่นๆ ตัวอย่างเช่น โค้ดต่อไปนี้จะเข้าถึงรายการทั้งหมดของคุกกี้:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const express = require('express');

const app = express();

app.get('/', (req, res) => {
// เข้าถึงรายการทั้งหมดของคุกกี้
const cookies = Object.keys(req.cookies);

// ส่งคืนรายการทั้งหมดของคุกกี้
res.send(cookies);
});

app.listen(3000, () => {
console.log('Server started on port 3000');
});

โค้ดนี้จะใช้วัตถุ req.cookies เพื่อเข้าถึงรายการทั้งหมดของคุกกี้ จากนั้นจะส่งคืนรายการทั้งหมดของคุกกี้ไปยังไคลเอนต์

เมื่อคุณส่งคำขอ GET ไปยัง URL / ด้วยคุกกี้ name=John และ age=25 คุณจะเห็นรายการต่อไปนี้:

1
[ 'name', 'age' ]

โปรดทราบว่าวัตถุ req.cookies อาจว่างเปล่าหากไม่มีการส่งคุกกี้ใดๆ พร้อมกับคำขอ