React项目中请求跨域解决方法

今天经理给我了一个React项目地址,让我拉下来并跑起来,拉下来运行起来后,发现所有的请求都失败了,并且都是由于跨域问题导致的。花了点时间,解决了这个问题,在这里记录一下解决方法。

我的情况

  1. 使用postman,对这些跨域的接口进行请求,是能够请求到数据的;
  2. 但是项目中请求就跨域了;
  3. 和后端同事确认后知道:后端服务是部署在线上了的(确认了服务IP地址和端口号是正确的);
  4. 我这是为了将项目正常的跑起来看效果,所以不需要后端来解决跨域问题,前端临时解决就好;

解决方法

  1. 使用插件 http-proxy-middleware 来解决这个问题,yarn add http-proxy-middleware(我这里下载的是2.0.6版本,似乎版本不同会导致写法不同,建议使用我这个版本);
  2. 在src目录下,新建一个名为 setupProxy.js 的文件。文件内容为(由于我是内网开发,无法粘贴复制出来,纯手敲,如果敲错了,还望指正):

假设我项目中跨域报错的接口是(这是请求方式为 get 的接口):http://192.xxx.x.xx:8000/product/attachment/fetch-all-list

const { createProxyMiddleware } = require("http-proxy-middleware");module.exports = function (app) {app.use(createProxyMiddleware('/praduct', {target: "http://192.xxx.x.xx:8000",  // 就是上面示例接口的 ip地址和端口号changeOrign: true,pathRewrite: { "^/praduct": "" }}))
}
  1. 修改你发起请求的那块代码,将请求的接口从上述的:http://192.xxx.x.xx:8000/product/attachment/fetch-all-list,改为:http://你前端项目启动的IP地址以及端口号/product/product/attachment/fetch-all-list(例如:http://192.168.0.60:3000/product/product/attachment/fetch-all-list
    注意:多了一个/product 这是我们上面代码中配置了的,不要漏掉了。
  2. 重启你的前端服务,重启后依然跨域,是因为,启动后是通过:http://loaclhost:3000访问的。改为:http://192.168.0.60:3000 就ok了

React项目中请求跨域解决方法相关推荐

  1. imac下修改本地hosts文件解决react项目中的跨域问题

    1.跨域问题:No 'Access-Control-Allow-Origin' header is present on the requested resource. 解决: 1)在本机命令行输入 ...

  2. vue-element-ui 中请求跨域问题解决方法

    找到 vue.config.js 把 默认红框中的内容注释掉改为黄框中的内容. 然后 更改 .env.development(开发配置文件),把 VUE_APP_BASE_API 中的内容改为 '/a ...

  3. vue 引入pdf跨域问题怎么解决_VUE项目中的跨域问题

    [摘要]跨域问题是前端开发人员比较常见的问题, 那么跨域出现的原因, 该如何解决跨域, VUE中对跨域又是怎样处理的呢 [作者]田鋆鹏 一. 前端为什么会出现跨域问题? 跨域问题是浏览器同源策略限制, ...

  4. 解决ajax请求跨域,解决ajax请求跨域

    跨域大部分需要通过后台解决,引起跨域的原因: 3个问题同时满足 才可能产生跨域问题,即跨域(协议,主机名,端口号中有一个不同就产生跨域) 下面是解决方法 方法一 // ajax请求跨域 /* *解决a ...

  5. Django中的跨域解决办法 基于后端的跨域解决方案

    Django中的跨域解决办法 基于后端的跨域解决方案 1 何为跨域 在浏览器中,只要发送请求的URL的协议.域名.端口号这三者中的任意一个与当前页面地址的协议.域名.端口号不同,则称之为跨域.当发生这 ...

  6. 跨域解决方法——jsonp原理

    跨域解决方法--jsonp原理 一个域名地址的组成: 当协议.子域名.主域名.端口号任意一个不相同时,都算作不同域,不同域之间相互请求资源,就算做"跨域".由于浏览器同源策略的限制 ...

  7. jquery、javascript实现(get、post两种方式)跨域解决方法

     jquery.javascript实现(get.post两种方式)跨域解决方法 一.实现get方式跨域请求数据 浏览器端 <script> $(document).ready(fun ...

  8. windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 参考文章: (1)windows7 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求 ...

  9. java连接数据库12514_ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法...

    早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...

最新文章

  1. 四步解读python生成器
  2. tp3.2php开启事务,Thinkphp 3.2.3 开启调试模式
  3. 两个条件一个为false就运行_设置一个自动运行网格条件单
  4. 深入浅出-iOS程序性能优化
  5. 理论基础 —— 图 —— 图的存储结构
  6. Spring Boot 2.0---使用Swagger2构建强大的API文档
  7. Android8. 0 学习(33)--- msensor移植
  8. redis主从配置转
  9. python3写文件_python3 写文件问题
  10. vs binsum
  11. 2021FME博客大赛 —— FME在道路实景建模中的应用研究
  12. Python + ElasticSearch:有了这个超级武器,你也可以报名参加诗词大会了!
  13. 屏幕真伪测试软件,如何检测电视屏幕真伪4K、坏点漏光?两款工具一键识别!...
  14. Intel® Extreme Tuning Utility (Intel® XTU)服务 xtu无法自动启动的问题
  15. 超声波传感器测距原理
  16. 我所理解的CPU中断
  17. 【latex】Latex文献报错 Something‘s wrong--perhaps a missing \item. \end{thebibliography}
  18. 微信企业号开发,给用户推送信息
  19. 考研用什么蓝牙降噪耳机好?适合学生党的降噪耳机推荐
  20. 46FPS+1080Px2超分+手机NPU,arm提出一种基于重参数化思想的超高效图像超分方案

热门文章

  1. android自定义通知栏样式,Android 通知栏自定义样式
  2. birt什么意思中文翻译_有含义的英文网名带中文翻译
  3. 公钥基础设施 PKI 技术与应用发展
  4. 微信小程序上传图片后 开发者工具自动刷新问题
  5. D3 天眼查 股权结构图
  6. MySQL 主从同步延迟的原因及解决办法
  7. 跨境电商的三个增长点:产品曝光 品类轮转 入自建站
  8. 架设游戏私服——内网穿透工具frp
  9. Vista硬盘安装详细图解
  10. Jquery颜色选择插件使用