Nodejs给我下载而不是html响应

时间:2012-07-30 21:23:21

标签: node.js download streaming http-1.1

这是我的代码:

var express = require('express'),
      app = express.createServer(express.logger());
app.use(express.bodyParser());
app.get('/', function(request, response) {
    var name = request.param('name', null);
    response.header('Content-Type', 'text/event-stream');
    var t = setInterval(function(){
        response.write('Hello World by '+name+' (using http-1.1 streaming data!)<br />');
    }, 2000);
    /*request.socket.on('close', function() {
        clearInterval(t);
    }); */
});

var port = process.env.PORT || 5000;
app.listen(port, function() {
    //clearInterval(t);

  console.log("Listening on " + port);
});

我正在使用快递,因为我在heroku中测试这个并且我在那里使用了指南。 因此,当我打开应用程序时,我会得到一个下载弹出文件,其中包含文件中的数据(已下载),而不是html(dom)响应。

我做错了什么? (这是浏览器问题吗?)

修改
@Joe,已经解决了我最初的问题但是,我有两个问题:
1)为什么我不需要插入'正确'的内容类型? (流媒体?)
2)为什么这段代码只能在一段时间后(大约半分钟)放出。?

1 个答案:

答案 0 :(得分:3)

如果您尝试将其显示为HTML,则需要Content-Typetext/html