为什么在发出 NODEJS 请求时 POSTMAN 中出现 ECONNRESET 错误

问题描述 投票:0回答:3

我在NODEJS中编写了一个简单的请求响应代码,但是没有响应返回请求。

我的app.js(服务器文件)的代码是

const express = require('express');
const cors = require('cors') 
const paymentroute = require('./routes/paymentRoutes');

 const app = express();




 app.use(cors);


app.use("/api",paymentroute);

app.listen(3100,()=>{

  console.log(`listening to port 3100`);
})

我的 req 和 res 的代码是

const express = require('express');

const router = express.Router();

// const  { checkout } = require('../controllers/paymentController');




router.post("/checkout",(req,res) => { 

  console.log("this function is called ")
  return res.json({success:"true"})
});


module.exports =  router;

即使 res 函数内的 console.log 也不起作用。

node.js express
3个回答
3
投票

只需更改 app.use(cors);到 app.use(cors());

const express = require('express');
const cors = require('cors');
const paymentroute = require('./routes/paymentRoutes');

const app = express();

app.use(cors());

app.use('/api', paymentroute);

app.listen(3100, () => {
    console.log(`listening to port 3100`);
});

0
投票

我认为这是一个与连接相关的问题,通常与虚拟专用网络 (VPN) 引起的网络问题有关,在某些情况下,某些 API 服务需要虚拟专用网络 (VPN),或者在其他情况下,会阻止您访问 API 服务。

问题似乎是启用了 no-cache header 和超过 64 个字符的 request URL length 的组合。如果执行此解决方案后问题仍然存在,请尝试升级到最新版本的 Postman。


0
投票

就我而言,我运营一个名为 auro.live 的网站。 然而,突然间,我遇到了 ECONNRESET 问题。

这不是npm版本问题,不是解析问题,不是cors问题,不是代理问题。 我只是从服务器端拒绝,我不知道为什么。

当我测试它时。 在浏览器中运行得很好,在postman中也运行得很好,但是不知道为什么我用node js开发的fetch、axios、node-fetch等都不起作用。

我解决这个问题的原因是 触摸标题, 我发现我自己实现的代码中没有User-Agent,

const options = {  
    headers:{
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
    }
}

const response = await fetch(complex_url, options)  

如果您像这样将用户代理添加到标头中, 就像谎言一样简单地解决了。

当然,User-Agent的值可以是随机的, 一般来说,您需要找到并输入您的浏览器支持的值,并且您需要输入实现该 API 的服务器可接受的 User-Agent 值。

浏览器 > 开发者控制台 > 输入“navigator.userAgent” (当然,请输入不带'')

最方便的就是找出你所运行的浏览器的User-Agent值并将其粘贴到nodejs代码中。

我为此奋斗了六个小时......😂 当然,读到这个并解决它可能是不可能的, 看过并路过的人留言希望得到帮助。

祝你好运。

© www.soinside.com 2019 - 2024. All rights reserved.