这是我的代码:
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);
});
我使用 express 是因为我在 heroku 中测试这个并且我在那里使用了指南。因此,当我打开应用程序时,我会看到一个下载弹出窗口,其中包含文件中的数据(已下载),而不是 html (dom) 响应。
我做错了什么?(是浏览器的问题吗?)
编辑:
@Joe,已经解决了我最初的问题,但我有两个问题:
1)为什么我不需要插入“正确”的内容类型?(流式传输?)
2)为什么这段代码只在一段时间后(大约半分钟)才输出。?