我在笔记本电脑上不同端口上的本地主机上运行了两个不同的Express服务器。其中一个正在向另一个请求。
我正在尝试使用chai-http测试服务器A,但是随后从服务器A到服务器B的请求导致Error: connect ECONNREFUSED 127.0.0.1:3020
。
服务器A对服务器B的请求:
try {
await axios({
method: 'post',
url: `${process.env.userapi}/invite`,
data: { user: { email } },
headers: { 'Content-Type': 'application/json' }
});
} catch (e) {
console.error(e);
throw e;
}
}
服务器B //引导路由 require('./ config / passport')(passport); require('./ config / express')(应用,护照); require('./ config / routes')(应用,护照);
mongoose.connection.on('error', connect);
mongoose.connection.on('disconnected', connect);
mongoose.connection.once('open', listen);
function listen() {
// if (app.get('env') === 'test') return;
if (!module.parent) app.listen(port);
console.log('Express app started on port ' + port);
}
...
app.post('/invite', invitationCtrl);
服务器B配置
res.header('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Credentials', true);
res.setHeader(
'Access-Control-Allow-Headers',
'Origin, X-Requested-With, Content-Type, Accept, Authorization, appid'
);
res.setHeader(
'Access-Control-Allow-Methods',
'GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS'
);
if (req.method == 'OPTIONS') {
res.status(200).end();
} else {
next();
}
使用邮递员而不是chai测试/invite
路由时似乎可行。我怀疑是axios电话,但我不知道在哪里找