req.originalUrl ใน ExpressJS

ใน ExpressJS req.originalUrl เป็นคุณสมบัติที่เก็บ URL ดั้งเดิมของคำขอ URL ดั้งเดิมคือ URL ที่ไคลเอนต์ส่งมาก่อนที่จะถูกแก้ไขโดยแอปพลิเคชัน

ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน http://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL http://localhost:3000/foo/bar/baz req.originalUrl จะถูกตั้งค่าเป็น http://localhost:3000/foo/bar/baz

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

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

app.get("/", function(req, res) {
res.send("Your original URL is: " + req.originalUrl);
});

app.listen(3000);

เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็น URL ดั้งเดิมของคุณในคอนโซล

req.originalUrl มีประโยชน์เมื่อคุณต้องการเก็บ URL ดั้งเดิมของคำขอไว้สำหรับอ้างอิงในอนาคต ตัวอย่างเช่น คุณอาจต้องการใช้ req.originalUrl เพื่อ redirect ผู้ใช้กลับไปยัง URL ดั้งเดิมหากพวกเขาทำผิดพลาด

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

  • req.url จะคืนค่า URL ของคำขอหลังจากถูกแก้ไขโดยแอปพลิเคชัน
  • req.originalUrl จะคืนค่า URL ดั้งเดิมของคำขอก่อนถูกแก้ไขโดยแอปพลิเคชัน

req.url และ req.originalUrl ทั้งสองเป็นคุณสมบัติที่มีประโยชน์ใน ExpressJS และควรใช้ตามความเหมาะสมกับความต้องการของแอปพลิเคชันของคุณ