React使用 http-proxy-middleware 插件代理跨域

出现跨域问题的原因是因为前端和后端所在的环境不符合浏览器的同源策略导致的。

哪同源策略又是什么呢?举例来说,http://localhost:3000这个网址,协议是http://,域名是localhost,端口是3000。协议、域名、端口需要全部一致才能视为同源

当我们不同源的时候就需要用到跨域了,跨域的方式较多我用的是插件的方式首先我们需要下载http-proxy-middleware插件

npm install --save http-proxy-middleware

下载好插件后在项目的src目录下新建文件:setupProxy.js;是固定的文件名,与app.js同级即可

//引入插件
const { createProxyMiddleware } = require("http-proxy-middleware");
module.exports = function(app) {
    app.use("/api",
        createProxyMiddleware({
            target: "http://172.26.136.102:8000",//目标端口
            changeOrigin: true,
            pathRewrite: {
                "^/api": ""
            }
        })
    );
};

使用方法

//下载并引入axios (npm install --save axios)
import axios from "axios";
//第一个值为接口路径
//第二个值为要传递的参数
//第三个值为配置请求头
axios.post('/api/xxxxxx',{name:"张三"},{header:{token:"xxxxxxxxxxxxxxxxxxx"}).then((res)=>{
	console.log(res)
)

CV仔别跑,回来三连 !!!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值