【问题标题】:Browser downloads the html file instead of opening浏览器下载html文件而不是打开
【发布时间】:2016-12-14 06:50:03
【问题描述】:

我用 Node.JS express 创建了一个服务器,我在公共文件夹中打开 html 文件。

app.use(express.static(__dirname + '/public'));
app.listen(8080);

我以前做过这个,没有任何问题。但是在这个项目中,当我尝试在127.0.0.1:8080 中打开服务器时,它会自动下载 index.html 文件。我用不同的浏览器试了一下,结果都是一样的。


更新
我可以在 Edge 中打开 html 文件。但它非常非常慢,就像它正在处理一些事情一样。当我向服务器发送请求时它卡住了。
我尝试使用浏览器单独打开 HTML 文件,它可以正常工作。
并尝试提供另一个 html 文件位置,结果相同。

【问题讨论】:

  • 显示完整的代码,你的页面被渲染的中间件
  • 你配置了视图引擎吗?
  • @JonathanNielsen 我想知道。其实我也不知道是什么。
  • @AnmolMittal 我不允许显示我的代码。
  • 检查内容类型标头可能设置不正确,应该类似于:content-type:text/html;

标签: javascript html node.js express


【解决方案1】:

我不知道这里的确切问题是什么。但我知道它必须与 cmets 中提到的 td-lambda 内容类型有关。所以我找到了这样的解决方案。

var express = require('express');
var app = express();
var server = app.listen(8080);
app.set({
     'Content-Type': 'text/html'
});
app.use(express.static(__dirname + '/public'));

这解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2013-05-15
    • 2013-04-13
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多