Node.js无法加载网页连接超时

我是一个初学者node.js,我安装它在这里: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager : https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

我试着从控制台,它的工作原理:

console.log('Hello World!');

nodejs helloConsole.js

> Hello World!

然后我试图在HTTP服务器中完成这个代码:

 var http = require("http"); http.createServer(function (request, response) {   request.on("end", function () {      response.writeHead(200, {         'Content-Type': 'text/plain'      });      response.end('Hello HTTP!');   }); }).listen(8080); 

我从terminal运行它:

nodejs hello.js

然后我打开浏览器http://localhost:8080/ ,加载需要很长时间,然后在chrome中给我:

Unable to load the webpage because the server sent no data.

和Firefox给了我:

The connection has timed out

注意:其他Web服务器工作正常,如Apache。

       

网上收集的解决方案 "Node.js无法加载网页连接超时"

您正在侦听请求参数的“结束”事件,但在您最外侧的callback函数被调用时,请求已经结束,所以订阅该事件为时已晚。

您可以直接从最外层的callback中回应,这就是nodejs.org中的示例代码显示的内容。

您将一个监听器附加到request对象,监听end事件,直到该事件已被request捕获,才会看到响应。

为了testing你可能想要修改它,就像在这里提供的示例一样: http : //nodejs.org/

 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); 

尝试以下步骤,如果您正在使用Windows,它可能会帮助你。

  1. http://nodejs.org/download/下载node.exe
  2. D:/nodejs/node.exe所在的位置放置在Hard Disk Drive
  3. 现在把你的hello.js放在同一个directory ,看起来像D:/nodejs/hello.js
  4. 现在从Command Prompt转到该文件夹D:/nodejs/并运行命令node hello.js