req.query ใน ExpressJS

ใน ExpressJS req.query เป็นคุณสมบัติที่เก็บพารามิเตอร์ query string ทั้งหมดที่ส่งมากับคำขอ พารามิเตอร์ query string เป็นข้อมูลแบบ key-value ที่ส่งมากับ URL ของคำขอ

ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน http://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL http://localhost:3000/?name=John&age=25 req.query จะถูกตั้งค่าเป็น { name: “John”, age: 25 }

หากต้องการใช้ req.query ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:

1
2
3
4
5
6
7
8
9
const app = express();

app.get("/", function(req, res) {
const name = req.query.name;
const age = req.query.age;
res.send("The user's name is: " + name + " and their age is: " + age);
});

app.listen(3000);

เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นข้อความ “The user’s name is: John and their age is: 25” ในคอนโซล

req.query มีประโยชน์เมื่อคุณต้องการเข้าถึงพารามิเตอร์ query string ทั้งหมดที่ส่งมากับคำขอ ตัวอย่างเช่น คุณอาจต้องการใช้ req.query เพื่อค้นหาผู้ใช้โดยชื่อหรือเพื่อดึงข้อมูลเฉพาะจากฐานข้อมูล

req.query แตกต่างจาก req.params ในสองวิธี:

  • req.query จะใช้สำหรับพารามิเตอร์ query string ทั้งหมด
  • req.params จะใช้สำหรับพารามิเตอร์เส้นทางที่กำหนดชื่อเท่านั้น