【问题标题】:How to solve CORS error in nodejs while using Postman?使用 Postman 时如何解决 nodejs 中的 CORS 错误?
【发布时间】:2020-12-18 01:26:45
【问题描述】:

我使用 nodejs 和 mongodb 创建了一个 REST Api,我想在 postman 中对其进行测试,但这样做时我遇到了 CORS 错误。

var express = require('express');
var log = require('morgan')('dev');
var bodyParser = require('body-parser');

var properties = require('./config/properties');
var db = require('./config/database.js');
//hero routes
var herosRoutes = require('./api/heros/heros.routes');
var app = express();

//configure bodyparser
var bodyParserJSON = bodyParser.json();
var bodyParserURLEncoded = bodyParser.urlencoded({extended:true});

//initialise express router
var router = express.Router();

// call the database connectivity function
db.mongoc();

// configure app.use()
app.use(log);
app.use(bodyParserJSON);
app.use(bodyParserURLEncoded);

// Error handling
app.use(function(req, res, next) {
    res.setHeader("Access-Control-Allow-Origin", "*");
     res.setHeader("Access-Control-Allow-Credentials", "true");
     res.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
     res.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers,Authorization");
   next();
 });

// use express router
app.use('/api',router);
//call heros routing
herosRoutes.hero(router);

// intialise server
app.listen(properties.PORT, (req, res) => {
    console.log(`Server is running on ${properties.PORT} port.`);
})

每当我提出任何创建或获取请求时,我都会在邮递员中收到此 CORS 错误。如何解决?

CORS 错误:由于 CORS 政策,请求已被阻止

【问题讨论】:

标签: node.js express server postman rest


【解决方案1】:

您是否尝试过 Express 的 CORS 包?这是一个简单的设置:

npm i cors

然后在您的应用中使用它(这会启用 ALL CORS 请求):

app.use(cors());

Docs

还回复了here

【讨论】:

  • 现在是套接字挂断错误,需要很长时间才能得到响应。
  • @HimanshuRanjan,您是否删除了 // Error handling 下的以前用于 CORS 的 app.use()?
  • @HimanshuRanjan,你的路由器配置也很奇怪。你的 herosRoutes 文件是什么样的?
  • 我确实删除了它,但它仍然没有响应。
  • github.com/Himanshuranjan30/RESTapi_nodejs 你能检查一下我的 git 中的问题吗?它没有那么多代码@Ryan
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 2022-09-14
  • 2021-11-10
  • 2021-05-28
  • 2021-12-09
  • 2021-09-15
  • 2021-08-13
  • 2019-11-03
相关资源
最近更新 更多