req.xhr ใน ExpressJS

ใน ExpressJS, req.xhr เป็นคุณสมบัติที่เก็บค่า boolean ที่ระบุว่าคำขอปัจจุบันเป็นคำขอ XHR หรือไม่

คำขอ XHR เป็นคำขอที่ส่งโดย JavaScript โดยใช้ API XHR ของเบราว์เซอร์

req.xhr จะเท่ากับ true หากคำขอปัจจุบันเป็นคำขอ XHR หากคำขอปัจจุบันไม่ใช่คำขอ XHR req.xhr จะเท่ากับ false

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

หากผู้ใช้ส่งคำขออีกครั้งไปยัง URL เดียวกันโดยใช้ JavaScript API XHR req.xhr จะถูกตั้งค่าเป็น true

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

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

app.get("/", function(req, res) {
if (req.xhr) {
res.send("The request is an XHR request.");
} else {
res.send("The request is not an XHR request.");
}
});

app.listen(3000);

เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นข้อความ “The request is not an XHR request.” ในคอนโซล

หากคุณส่งคำขออีกครั้งไปยัง URL เดียวกันโดยใช้ JavaScript API XHR คุณจะเห็นข้อความ “The request is an XHR request.” ในคอนโซล

req.xhr มีประโยชน์เมื่อคุณต้องการตรวจสอบว่าคำขอปัจจุบันเป็นคำขอ XHR หรือไม่ ตัวอย่างเช่น คุณอาจต้องการใช้ req.xhr เพื่อดำเนินการที่แตกต่างกันสำหรับคำขอ XHR เมื่อเทียบกับคำขอ HTTP ปกติ