NodeJS - res.sendFile返回HTML代码但未加载/呈现该HTML

3

我对NodeJs非常陌生。我正在使用NodeJS中的express模块,尝试通过sendFile命令加载HTML文件。在执行第一个sendfile命令时,一切都正常,但是第二个sendFile命令却无法正常工作。请问有人可以告诉我这里出了什么问题吗?

 var express = require('express');

 var app = express();
 var path = require('path');

 app.use(express.static(path.join(__dirname, 'public')));

 app.get('/', function(req, res){
   res.sendFile(path.join(__dirname, 'public/index.html'));
 });

 app.get('/unpack', function(req, res){
  res.sendFile(path.join(__dirname, 'public/main.html'));
 });

在上面的代码中,下面一行代码运行良好。
 res.sendFile(path.join(__dirname, 'public/index.html'));

问题出在:
 res.sendFile(path.join(__dirname, 'public/main.html'));

你尝试过用 path.join(__dirname, 'public/main.html') 形成的路径进行 console.log,以确保该路径实际上是 HTML 文件的正确路径吗? - warl0ck
@robertklep:对于模糊的问题描述非常抱歉。它不会呈现那个HTML页面。然而,res.sendFile(path.join(__dirname,'public/index.html'));代码可以很好地呈现index.html页面。 - KT B
@warl0ck:是的,我刚刚在调用/unpack方法的代码中使用了console.log。它在日志中显示了main.html的代码。 - KT B
哦,等一下:你是通过AJAX/XHR请求/unpack吗? - robertklep
@robertklep:是的 - KT B
显示剩余4条评论
1个回答

1
感谢 @warl0ck 和 @robertklep 的回应。正如 @robertklep 在评论中提到的那样,我的问题在于我正在使用AJAX调用/unpack,因此我得到的响应是HTML代码。这帮助我理解了问题,并且我将改变AJAX的使用方式。
再次感谢 @warl0ck 和 @robertklep!!!
-kt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接