What renders in this EJS template with data { title: 'Home' }?

4 phương ánCó giải thíchDễ
Đề bài
// app.js
app.get('/', (req, res) => res.render('home', { title: 'Home' }));

// home.ejs
<h1><%= title %></h1>

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở

Đáp án đúng: "<h1>Home</h1> ". Lần theo mã: route GET / gọi res.render với tên home và đối tượng có title là Home, Express tìm tệp views/home.ejs và đưa dữ liệu cho EJS; thẻ <%= title %> là thẻ xuất giá trị có thoát ký tự HTML (escape), EJS thay nó bằng giá trị biến title là Home, nên trình duyệt nhận HTML hoàn chỉnh với thẻ h1 chứa chữ Home. "<h1><%= title %></h1> " sai vì đó là mã mẫu trước khi kết xuất; thẻ EJS không lọt nguyên ra phản hồi khi render thành công. "Template string if data not passed correctly" sai vì nếu thiếu title, EJS ném lỗi ReferenceError chứ không in lại chuỗi mẫu, và ở đây dữ liệu đã được truyền đúng. "Dynamic content based on passed object" mô tả chung bản chất của EJS nhưng không nói kết quả cụ thể, trong khi câu hỏi cần đầu ra chính xác.

Cùng chương 7

Xuất hiện trong 2 bộ đề