[英]Express renders raw html as text
我正在嘗試將html表呈現到/guestbook.ejs,然后將guestbook.ejs重定向到/ guestbook。 但是,我的guestbook.ejs將html代碼顯示為純文本。
這是我的代碼:
server.js:
app.get('/guestbook', function(req, res) {
var data = require('./guestbook.json');
var table =
'<table border="1"> ';
for (var i=0; i < data.length; i++){
table +=
'<tr>' +
'<td>' + data[i].id + '</td>' +
'<td>' + data[i].username + '</td>' +
'<td>' + data[i].country + '</td>' +
'<td>' + data[i].date + '</td>' +
'<td>' + data[i].message + '</td>' +
'</tr>';
}
res.render('pages/guestbook.ejs', {
new_table: table
});
res.sendfile('/views/pages/guestbook.ejs');
});
guestbook.ejs:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div><%= new_table %></div>
</body>
</html>
結果實際上是文本格式的:
<table border="1"> <tr><td>1</td><td>Pam</td><td>Anguilla</td><td>Thu Feb 22 2007 22:28:32 GMT+0200 (FLE Standard Time)</td><td>How are you guys doing?</td></tr><tr><td>2</td><td>Sofia</td><td>Macau</td><td>Mon Apr 05 1993 09:12:01 GMT+0300 (FLE Daylight Time)</td><td>Hello world!</td></tr><tr><td>3</td><td>Ashley</td><td>Mauritania</td><td>Sat Oct 19 1991 01:31:38 GMT+0300 (FLE Daylight Time)</td><td>Greetings from Mauritania!</td></tr><tr><td>4</td><td>Baxter</td><td>Malta</td><td>Sat Sep 03 2005 08:52:38 GMT+0300 (FLE Daylight Time)</td><td>Very nice!</td></tr><tr><td>5</td><td>Vickie</td><td>Uganda</td><td>Tue Jul 22 2003 08:53:21 GMT+0300 (FLE Daylight Time)</td><td>Anyone from Africa here?</td></tr><tr><td>6</td><td>testid</td><td>test</td><td>2017-04-29T09:05:01.408Z</td><td>21</td></tr><tr><td>7</td><td>testd</td><td>2</td><td>2017-04-29T09:05:08.669Z</td><td>123</td></tr><tr><td>8</td><td>test</td><td>123</td><td>2017-04-30T12:43:54.848Z</td><td>231</td></tr>
我怎樣才能解決這個問題?
要將文本呈現為HTML:使用<%- new_table %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.