当我尝试发送加载请求以加载静态文件时,我遇到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();
答案 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();