我正在用express开发一个NodeJS应用,我想通过app.post
函数将用户发送到另一个页面。
我知道您可以通过使用类似app.use(express.static('client/home'));
的页面来服务页面,并且该页面在我的应用中有效,但是当我按如下所示将其放入我的app.post
时,页面只会显示“本地主机未发送任何数据”。
app.post('/createSchool', function(req, res) {
app.use(express.static('client/school'));
});
如果我在res.end('');
之后添加app.use
,则该页面不会崩溃,但遇到空白屏幕。
如何让Express投放client/school
文件夹中的HTML?
答案 0 :(得分:0)
我必须在res.sendFile
之后添加app.use
。现在的功能如下:
app.post('/createSchool', function(req, res) {
app.use(express.static('client/school'));
res.sendFile(path.join(__dirname, '/client/school/index.html'));
});
之所以没有添加它,是因为一开始就不需要它。为什么会这样呢?
**编辑:**当我在POST方法中删除app.use
时(仅留下res.sendFile
时,页面仍按预期工作。为什么我需要app.use
?我以为是将文件夹中的所有文件(即HTML,CSS和JS)一起提供,就像使用res.sendFile只是给您裸HTML一样。
我现在真的很困惑...