Node.js没有方法'sendHeader'
安装副本来自git clone git://github.com/joyent/node.git
安装在ubunti lucid服务器内作为Amazon EC2 AMI文件。
简单的说通过命令输出问好了。
但是,当输出到浏览器时,它无法正常工作。
伙计们,有什么想法来修复它吗?
我希望使用node.js,但似乎还没有为生产使用做好准备。
ubuntu@ip-10-129-31-63:~/Desktop/node/test3$ node hello_world_server.js
Server running at http://localhost:8080/
/home/ubuntu/Desktop/node/test3/hello_world_server.js:5
response.sendHeader(200, {"Content-Type": "text/html"});
^
TypeError: Object #<ServerResponse> has no method 'sendHeader'
at Server.<anonymous> (/home/ubuntu/Desktop/node/test3/hello_world_server.js:5:14)
at Server.emit (events.js:45:17)
at HTTPParser.onIncoming (http.js:1081:12)
at HTTPParser.onHeadersComplete (http.js:87:31)
at Socket.ondata (http.js:980:22)
at Socket._onReadable (net.js:654:27)
at IOWatcher.onReadable [as callback] (net.js:156:10)
ubuntu@ip-10-129-31-63:~/Desktop/node/test3$ node -v
v0.5.0-pre
运行代码
var sys = require('sys'),
http = require('http');
http.createServer(function (req, res) {
setTimeout(function () {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<br/><strong> Hello World!</strong>');
res.end();
}, 2000);
}).listen(8000);
sys.puts('Server running at http://127.0.0.1:8000/');
答案 0 :(得分:12)
如果您正在关注NetTuts教程,请尝试:
response.writeHead()
而不是
response.sendHeader
和
response.end()
而不是
response.close()
答案 1 :(得分:4)
该函数可能称为writeHead()。 “可能”,因为我不知道你的代码和你加载的库。
http://nodejs.org/docs/v0.4.1/api/http.html#response.writeHead
几乎没有人将node.js用于完整的网络服务器,但对于子功能,例如聊天服务器已经在很多网站上投入使用。
答案 2 :(得分:2)
它是“setHeader”,而不是“sendHeader”。
不,节点尚未准备好用于生产。这并没有阻止很多人使用它,但即使他们会告诉你他们这样做有点疯狂。
编辑 - 其他答案可能是正确的,可能是您正在寻找“writeHead()”。因为我在这里所做的就是查看nodejs.org上相当可爱的node.js文档,我不得不怀疑你自己是否已经这样做了。
答案 3 :(得分:2)
我认为该方法是writeHead()