我在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 也不起作用。
只需更改 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`);
});
我认为这是一个与连接相关的问题,通常与虚拟专用网络 (VPN) 引起的网络问题有关,在某些情况下,某些 API 服务需要虚拟专用网络 (VPN),或者在其他情况下,会阻止您访问 API 服务。
问题似乎是启用了 no-cache header 和超过 64 个字符的 request URL length 的组合。如果执行此解决方案后问题仍然存在,请尝试升级到最新版本的 Postman。
就我而言,我运营一个名为 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代码中。
我为此奋斗了六个小时......😂 当然,读到这个并解决它可能是不可能的, 看过并路过的人留言希望得到帮助。
祝你好运。