我正在尝试使用Express创建自己的服务器。我试图提供一个HTML文件,但是当我在上面运行res.send()时,它下载了这个文件。下面是我的代码片段:
res.send(fs.readSync(path.join(__dirname, "pages/login.html")))
字符串当我转到该页面时,它不是呈现文件,而是下载文件。如果这改变了任何东西,这个页面将从“/”页面重定向到。
**更新:**清除该高速缓存修复问题。
7nbnzgx91#
您可能忘记将Content-Type头设置为text/html,因此浏览器不知道它正在接收它应该呈现的HTML文档。
Content-Type
text/html
res.set('Content-Type', 'text/html')
字符串......根据文件。也就是说,如果您正在处理静态文件,那么您可能应该使用the static module,而不是滚动自己的处理程序。
static
webghufk2#
使用res.end而不是res.send。
res.set('Content-Type', 'text/html') res.end(fs.readSync(path.join(__dirname, "pages/login.html")))
字符串或者把html读成字符串。
res.set('Content-Type', 'text/html') res.send(fs.readSync(path.join(__dirname, "pages/login.html"), "utf8"))
型
2条答案
按热度按时间7nbnzgx91#
您可能忘记将
Content-Type
头设置为text/html
,因此浏览器不知道它正在接收它应该呈现的HTML文档。字符串
......根据文件。
也就是说,如果您正在处理静态文件,那么您可能应该使用the
static
module,而不是滚动自己的处理程序。webghufk2#
使用res.end而不是res.send。
字符串
或者把html读成字符串。
型