使用reactjs在客户端启用cors

时间:2019-07-04 09:53:51

标签: reactjs web cors

我有一个使用react开发的网页,这种形式可以在某个远程服务器上获取一些值(当前是docker容器上运行的localhost)。现在每当我调用url时,我都会不断收到此错误

  

可以从原始位置获取“ http://localhost:8181/some_path”上的内容   “ http://localhost:3000”已被CORS政策禁止:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。如果不透明的响应满足您的需求,请设置请求的   模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。

我尝试启用从网络读取CORS的方法如此之少

1。。使用no-cors

禁用内核
  fetch(url, {
      method: "GET",
      mode: "no-cors",
      header: headers,
    })

它没有按预期工作(我一直都收到空值)

2。。尝试使用代理服务器

fetch("http://cors-anywhere.herokuapp.com/" +url, {
  method: "GET",
  mode: "cors",
  header: headers,
})

它一直给我这个错误

  

由于代理错误而找不到:错误:连接ECONNREFUSED   127.0.0.1:8181

3。。在package.json中使用代理

  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:8181",

完全没有效果

4。。添加Chrome扩展名

,但它是临时的,也无法正常运行。

我尝试在任何地方搜索,但是似乎都无法解决我的问题。(通过这种方式,我可以直接从浏览器访问url),但没有帮助。

因此,有一种方法可以从我的应用程序(即客户端)中启用cors或其他任何可以帮助我发出GET请求的方法。

PS :无法更改服务器:(

感谢您的帮助。

0 个答案:

没有答案