Node.js没有方法'sendHeader'

时间:2011-03-02 15:51:02

标签: jquery node.js

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>&nbsp;&nbsp;&nbsp;&nbsp;Hello World!</strong>');

    res.end();

  }, 2000);

}).listen(8000);

sys.puts('Server running at http://127.0.0.1:8000/');

4 个答案:

答案 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()