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

为什么启用CORS后,我仍然会收到CORS错误

凤凡
2023-03-14

这是获取请求:

class App extends Component {
    componentDidMount() {
        fetch('http://localhost:3001/')
            .then((res) => res.json())
            .then((data) => console.log(data));
    }

    render() {
        return <div></div>;
    }
};

这是后端代码

const express = require('express');
const app = express();
app.use(function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', '*');
    next();
});
app.use('/', (req, res) => {
    res.json({ test: 'test' });
});
app.listen(3001, console.log('listeing...'));

错误:

CORS策略阻止了从源“http://localhost:3000”在“http://localhost:3001/”获取的访问:请求的资源上不存在“访问-控制-允许-起源”标头。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用CORS的情况下获取资源。

共有2个答案

陈茂
2023-03-14

最简单的选择是安装cors包。

安装:

npm i cors

用法:

const cors = require('cors')
app.use(cors())
咸浩初
2023-03-14

您必须允许客户端使用http方法:

res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE'); // allow client to use http methods
 类似资料:
  • 问题内容: 我正在尝试从API获取JSON对象,并且该API的开发人员说他们刚刚启用了CORS,但我仍然遇到以下错误。 XMLHttpRequest无法加载http://example.com/data/action/getGame/9788578457657。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://dev.our-

  • CORS策略阻止从来源“http://localhost:3000”访问位于“http://localhost:8080/api”的XMLHttpRequest:请求的资源上没有“access-control-allog-origin”标头。 你知道吗?

  • 我正在编写一个web应用程序,其中客户端将(JSON)表单数据发布到,服务器也应该使用JSON进行响应。服务器端使用java servlet编写,运行在Tomcat上,客户端使用Angular 7编写。不幸的是,即使在通过HTTP头启用CORS之后,我仍然面临CORS错误。我有什么遗漏吗? 这就是我在客户端遇到的错误:在'http://localhost:8080/mysocial/signIn“

  • 我的设置如下所示: 将自定义TLD指向本地主机的自定义DNS服务器 我想要的是我的api和前端都在子域上。tld,其中/api反向代理到我的api和其他所有要转到vuejs开发服务器的内容。 我当前的nginx配置符合我的需要,但它阻止vue devserver连接: vue.config.js: 唯一的问题是,我仍然得到错误,我猜实时错误显示/实时刷新包括在vue-cli(法语对不起,但它基本上

  • 问题内容: ABstractMethodError的可能原因是什么? 线程“ pool-1-thread-1”中的异常java.lang.AbstractMethodError: 问题答案: 简单的答案是这样的:一些代码试图调用一个声明的方法。抽象方法没有主体,无法执行。由于您提供的信息很少,因此我无法真正详细说明如何发生这种情况,因为编译器通常会遇到此问题- 如此处所述,这意味着该类必须在运行时

  • 我正在使用Jhipster来生成API。 在Spring boot中还需要做什么来启用CORS吗?