2

我想使用 ReactJS 实现 Nominatim API。当我请求 URL 时,我收到以下错误:

当凭证标志为真时,不能在“Access-Control-Allow-Origin”标头中使用通配符“*”。因此不允许访问源“ http://localhost:8080 ”。XMLHttpRequest 的凭证模式由 withCredentials 属性控制。

经过一番研究,我发现我必须使用 CORS 来访问数据。所以我在 Webpack 配置中编辑了标题。在我运行我的应用程序的服务器上,代码如下:

devServer: {
      headers: {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Credentials": "true",
    "Access-Control-Allow-Headers": "Content-Type, Authorization, x-id, Content-Length, X-Requested-With",
    "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS"
},  
  inline: true,
  port: 8080

}

但它不起作用。有什么建议么?

4

2 回答 2

0

尝试从生产服务器测试它

于 2018-06-08T07:46:50.687 回答
0

如果您在生产环境中使用上述配置,那么您的服务器在 Internet 上是完全开放的,这些都不是生产环境中最安全的配置。

reactjs您可以通过添加直接修复它

"proxy": "http://localhost:8080"

在您package.json的反应项目文件中。

我已经写了一篇关于它的完整文章,您可以在其中查看并了解更多https://minasami.com/2021/06/10/cors-errors-fix-with-reactjs.html

于 2021-06-21T10:06:46.947 回答