错误:连接ECONNREFUSED。未处理的'错误'事件NodeJS

时间:2017-02-07 15:41:26

标签: node.js

当我尝试发送加载请求以加载静态文件时,我遇到Nodejs错误ECONNREFUSED 127.0.0.1:3000。我已经看到很多关于这个错误的问题,但显然没有直截了当的答案为什么会抛出这个错误。以下是我的代码。我已经尝试将localhost更改为127.0.0.1或更改端口号3000,7000,8080,但没有解决它。有人可以建议吗?谢谢。

//Basic web client retrieving content of file using get request

var http = require('http');

//options for request 

var options = {

hostname: 'localhost',
port: '3000',
path: '../html/hello.html'

};

//function to handle response from request

  function getResponse(response){

  var serverData='';

  response.on('data', function(chunk){

     serverData += chunk;
  });

   response.on('end', function(){

      console.log(serverData);
   });
 };

  http.request(options, function(response, error){

  getResponse(response);

}).end();

2 个答案:

答案 0 :(得分:3)

您的客户端代码足够好用。您正在获得ECONNREFUSED,因为没有服务器正在侦听特定的端口号,并且服务器没有发送任何数据,而您正在请求从服务器获取数据并累积它。

以下是示例代码:

databaseName.find({Father.PhoneNo: req.body.PhoneNo}, function (err, user) {
                if (err) {
                    res.json({status: 0, message: err});
                }
                if (!user) {
                    res.json({status: 0, msg: "not found"});
                }
                res.json({status: 1, id: user._id, message: " success"});
            })

答案 1 :(得分:0)

代码中的问题是,您没有处理错误,因此您必须首先处理错误。

var http = require('http');
    var options = {
    hostname: 'localhost',
    port: '3000',
    path: '../html/hello.html'
    };
      function getResponse(response){
    var serverData='';

      response.on('data', function(chunk){
         serverData += chunk;
      });

       response.on('end', function(){
    console.log(serverData);
       });
     };

      http.request(options, function(error , response){
    if(error){
    console.log(error);//handle error here.
    }else{
      getResponse(response);
    }}).end();