怎么解决fetch的跨域问题?现在在用react-router做一个SPA

XboxYan
  • 6.9k

现在在用react-router做一个SPA应用,也存在跨域问题,但是我在网上看见别人有的web页面可以请求到,是不是别人自己用服务器做处理了?

项目地址

fetch(getLatestNews(),{
          method: 'GET',
          mode: 'cors',
      })
      .then((response) => {
          console.log(response)
        if (response.ok) {
          return response.json()
        }
      })
      .then((responseData) => {
          
        this.setState({
          isLoaded: true,
        })
      })
      .catch(() => {
        this.setState({
          isLoaded: false,
        })
      });

警告

Fetch API cannot load http://news-at.zhihu.com/api/... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.xboxyan.com' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

回复
阅读 12.7k
1 个回答
✓ 已被采纳

推荐两种方案
1.后台启用cors跨域资源共享 CORS 详解

2.使用代理nginx conf文件里配置proxy路径或者使用npm的包http-proxy-middleware

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏