当前位置: 首页 > 知识库问答 >
问题:

如何修复CORS错误:请求没有通过访问控制检查?[副本]

沃盛
2023-03-14
import express from 'express';
import cors from 'cors';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import helmet from 'helmet';
import config from './config/config.js';
import authRoutes from './routes/auth.js';
import userRoutes from './routes/user.js';

mongoose.connect(config.mongoUri, { useNewUrlParser: true });
mongoose.connection.on('error', () => {
  throw new Error(`unable to connect to database: ${config.mongoUri}`);
});
const port = 9000;
const app = express();

app.use(helmet());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'POST,GET,LINK');
});
app.use('/', authRoutes);
app.use('/', userRoutes);
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

import express from 'express';

import authCtrl from '../controllers/auth.controller.js';

const router = express.Router();

router.route('/auth/signin').post(authCtrl.signin);
router.route('/auth/signout').get(authCtrl.signout);

export default router;
const signin = user => {
  console.log('user', user);
  return fetch('http://localhost:9000/auth/signin/', {
    method: 'POST',
    headers: {
      'Access-Control-Allow-Origin': '*',
      Accept: 'application/json',
    },
    credentials: 'include',
    body: JSON.stringify(user),
  })
    .then(response => {
      return response.json();
    })
    .catch(err => console.log(err));
};

在网络中,我可以看到可选的请求:access-control-allog-headers:access-control-allog-orgin access-control-allog-methods:GET,HEAD,PUT,PATCH,POST,DELETE

那么如何解决这个问题呢?

共有1个答案

公良天逸
2023-03-14

当您使用cors npm时:

在您的应用程序js中,只需添加以下内容并删除不必要的代码

import cors from 'cors';

app.use(cors());

package.json文件中的react项目文件夹中:

"proxy": "http://localhost:9000",
const signin = user => {
  console.log('user', user);
  return fetch('/auth/signin', {
    method: 'POST',
    credentials: 'include',
    body: JSON.stringify(user),
  })
    .then(response => {
      return response.json();
    })
    .catch(err => console.log(err));
};
 类似资料:
  • 我试图使用授权头向我的Wordpress REST API发出一个GET/POST请求,但作为响应,我得到了 CORS策略阻止从来源“HTTP://localhost:3000”访问位于“hidden_server_address”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。 在邮递员中,电话工作很好,并给出了预期的结果。

  • 我正在尝试用php后端和React JS前端构建一个简单的API。为此,我使用了两个单独的docker容器(api.dev.de和react.dev.de,因为这是一个要求。我使用的是一个稍微经过调整的nginx代理版本。然而,当我将每个react fetch()的请求发送到服务器时,我得到了错误: CORS策略已阻止从源https://react.dev.de获取https://api.dev.

  • 我正在使用reactjs前端,在后端使用Spring Boot。我尝试从前端调用endpoint,如下所示: 当我发出请求时,我得到以下错误:- 访问位于“”的XMLHttpRequesthttp://localhost:8000/ckcapp/api/posttest“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在

  • 问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访

  • 我正在尝试将Laravel社交名流集成到我的项目中,我遇到了以下错误 在'访问XMLHttpRequesthttps://github.com/login/oauth/authorize?client_id=6b87b76a942a90caec24 问题是当我按使用 github 按钮登录时,出现上述错误 错误图片 科尔斯.php文件 am使用水果蛋糕/laravel-cors包 我哪里做错了?

  • 我在做这个请求: 但在执行该方法时,我遇到了以下错误:访问'http://localhost:8083/uaa/addPermission/group/2“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。我已经有了CORS Chrome插件,我可以做其他类型的请求,比如POST和GET,接收请求的方法有@Cro