2014-02-12 94 views
1

問題是關於Node.js的問題。我是新手,遵循教程,並且教程的第一個Node腳本在我的系統(Hello World)上成功運行。現在,我複製並粘貼了本教程第二部分的代碼(創建一個http服務器),並試圖通過端口8080連接到本地主機上,但我的瀏覽器(Chrome)返回了一個錯誤。Node.js初學者教程腳本 - 錯誤代碼:ERR_EMPTY_RESPONSE

錯誤代碼:ERR_EMPTY_RESPONSE

所以,我真的不知道什麼是錯在這裏。我會假設我正確安裝了Node,因爲我的第一個腳本運行正常。也許這是一個簡單的初學者錯誤,我錯過了它。

下面是腳本:

// Include http module. 
var http = require("http"); 

// Create the server. Function passed as parameter is called on every request made. 
// request variable holds all request parameters 
// response variable allows you to do anything with response sent to the client. 
http.createServer(function (request, response) { 
    // Attach listener on end event. 
    // This event is called when client sent all data and is waiting for response. 
    request.on("end", function() { 
     // Write headers to the response. 
     // 200 is HTTP status code (this one means success) 
     // Second parameter holds header fields in object 
     // We are sending plain text, so Content-Type should be text/plain 
     response.writeHead(200, { 
      'Content-Type': 'text/plain' 
     }); 
     // Send data and end response. 
     response.end('Hello HTTP!'); 
    }); 
// Listen on the 8080 port. 
}).listen(8080); 

我保存這一個文件,server.js,導航到在命令提示符正確的目錄,並沒有任何錯誤執行節點server.js。

問題可能是什麼?

+0

你以下什麼教程? –

+0

http://code.tutsplus.com/tutorials/nodejs-for-beginners--net-26314 @HectorCorrea – CuriousWebDeveloper

回答

0

這應該讓你開始:

var http = require("http"); 

http.createServer(function (request, response) { 

    console.log(request.url); 
    response.writeHead(200, { 
     'Content-Type': 'text/plain' 
    }); 
    response.end('Hello HTTP!'); 

}).listen(8080); 
+0

解決了它。謝謝,教程腳本有什麼問題? – CuriousWebDeveloper

+0

我真的不明白爲什麼本教程中的代碼不工作*除非*你爲'request.on('data')'添加了一個處理程序,如其他教程所示:http://docs.nodejitsu .com/articles/HTTP/servers/how-to-read-POST-data –

+1

如果您查看教程鏈接的第一條評論,則會很好地解釋問題。 – CuriousWebDeveloper