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

本地主机上出现CORS错误,这正常吗?

郑鸿朗
2023-03-14

我正在端口8000上运行node.js API,该端口在本地连接到mongo db。

然后,我在端口3000上启动react服务器,并立即在控制台中获得错误:

CORS策略阻止了从http://localhost:8000/api/hero/http://localhost:3000对XMLHttpRequest的访问:请求的资源上不存在访问控制允许起源标头。

这对于本地主机设置正常吗?

共有3个答案

阴禄
2023-03-14

Access Control Allow Origin阻止所有未在node.js API中定义的请求

将以下行添加到node.js服务器。这允许您从每个url访问api。

    this.app.use(function (req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, authorization");
        res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
        next();
    });
上官锦
2023-03-14

我猜localhost:3000正在运行webpack开发服务器?如果是这样的话,解决这个问题的最简单方法就是配置您的webpack dev服务器以代理您的请求,因此无需在您自己的express服务器上添加CORS处理

在你的webpack.conf.js,添加

devServer: {
  proxy: {
    '/api': 'http://localhost:8000'
  }
}
郦楷
2023-03-14

是的,因为CORS不以任何特定方式关心localhost。相反,主机名和端口的组合(!)用于在多方之间进行区分。

因此,对于CORS来说,localhost:3000localhost:8000完全不同,因此,是的,这是正常的。

 类似资料:
  • 我正在使用Vue创建一个简单的应用程序,并使用axios调用endpoint 我得到了错误 源于http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。 问题不在服务器级别,我已经从Postman或直接使用CURL进行了测试,它不会生成错误。 感谢Shrinivas Bendkhale的评论。我设法解决了这个问题。 起初它不

  • 这就发生在这条线上。因此,我相信PHP也必须针对前面的代码行做一些事情。所以我添加了上一行和下一行: 有趣的是,这在我本地的WAMP服务器上工作,但在大学服务器上却不工作。代码有什么问题吗?

  • 我在索引中有代码。php 在头上。php 当我尝试在浏览器中打开时,发现以下错误:

  • 我对此完全不知所措,我不确定是什么导致了这个错误: 致命错误:未捕获的异常“cURL_Exception”,并显示消息“cURL 资源:资源 ID #17;详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败(cURL 错误代码 60)。有关错误代码的说明,请参阅 http://curl.haxx.se/libcurl/c/libcu

  • 我在wordpress 5.3中做的是,WooBusiness的普金显示此MSG 警告:require_eonce(/home/sitname/public_html/1):无法打开流:在/home/sitename/public-html/wp-content/plugins/learnpress-woo payment/incs/load中成功。php第80行 致命错误:require_onc

  • 在asp.net核心中,我可以使用中间件在某些方法上启用CORS,如下所述 我想知道是否可以为任何方案和上的任何端口启用CORS(仅用于测试目的)。我尝试了通配符,它不起作用