req.body ใน ExpressJS

ใน ExpressJS, req.body เป็นวัตถุที่อ้างถึงข้อมูลที่ถูกส่งในคำขอ POST

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

ตัวอย่างเช่น โค้ดต่อไปนี้จะรับค่าของพารามิเตอร์ name จากคำขอ POST:

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

const app = express();

app.post('/', (req, res) => {
// เข้าถึงค่าของพารามิเตอร์ name
const name = req.body.name;

// ส่งคืนค่าของพารามิเตอร์ name
res.send(name);
});

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

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

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

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

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

const app = express();

app.post('/', (req, res) => {
// เข้าถึงรายการทั้งหมดของพารามิเตอร์
const parameters = Object.keys(req.body);

// ส่งคืนรายการทั้งหมดของพารามิเตอร์
res.send(parameters);
});

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

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

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

1
[ 'name', 'age' ]

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