2012-02-15 128 views
1

我是Node.js的新手。我跟着教程,並鍵入以下Node.js瀏覽器錯誤

var sys = require("util"), 
http = require("http"); 

http.createServer(function(request, response) { 
response.sendHeader(200, {"Content-Type": "text/html"}); 
response.write("Hello World!"); 
response.close(); 
}).listen(8080); 

sys.puts("Server running at http://localhost:1331/"); 

但是當我去我的瀏覽器和IE http://localhost:1331 它失敗瀏覽的網址時,日erequested URL

越來越打開CMD下輸入網址

TypeError: Object #<ServerResponse> has no method 'sendHeader' 
at Server.<anonymous> (D:\node_js\hello.js:11:14) 
at Server.emit (events.js:70:17) 
at HTTPParser.onIncoming (http.js:1511:12) 
at HTTPParser.onHeadersComplete (http.js:102:31) 
at Socket.ondata (http.js:1407:22) 
at TCP.onread (net.js:354:27) 
+0

我需要設置任何網絡服務器像apache這個或nodejs設置它? – baig772 2012-02-15 11:38:00

+0

您的node.js應用程序是一個Web服務器。所以不,你不需要另一個網絡服務器。看起來你遵循一個(非常)老的教程,請參閱下面的答案。 – 2012-02-15 13:04:01

回答

8

它看起來像你跟着一個過時的教程。 Node API已經改變。試試這個例子:

var http = require('http'); 

http.createServer(function (request, response) { 
    response.writeHead(200, {'Content-Type': 'text/html'}); 
    response.end('Hello World\n'); 
}).listen(1331); 

console.log('Server running at http://127.0.0.1:1331/'); 
0

它看起來像你正在監聽端口8080.要麼改變你的URL或你傳遞到listen()端口號。

+0

在listen()中更改了端口但仍然存在:( – baig772 2012-02-15 11:44:13

+0

hmm也許使用netstat或其他東西來確保它在正確的端口上運行,並且沒有其他進程正在使用該端口號 – 2012-02-15 11:53:15

+0

我已更改了很多端口號,它應該在其中一個工作 – baig772 2012-02-15 11:59:50