react通过axios发送请求并演示配置多个反向代理地址解决跨域

这篇具有很好参考价值的文章主要介绍了react通过axios发送请求并演示配置多个反向代理地址解决跨域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里 我们准备一个接口 我这里用java写了一个
react通过axios发送请求并演示配置多个反向代理地址解决跨域
然后 我们打开react项目 安装axios

npm i axios@0.21.0

然后在src下创建一个setupProxy.js
编写代码如下

const proxy = require('http-proxy-middleware')

module.exports = function(app) {
  app.use(
 		// 可以配置多个代理
    proxy.createProxyMiddleware('/api', {
      target: 'http://localhost:8080',
      changeOrigin: true,
    }),
    proxy.createProxyMiddleware('/user', {
      target: 'http://localhost:8081',
      changeOrigin: true,
    })
  )
}

可以看到 这里我们配了两个方向代理
如果请求的路中 包含api 就会代理成 http://localhost:8080/请求路径
如果包含user则会成为 http://localhost:808/请求路径

这样代理就可以解决跨域问题

然后 我们在组件中编写代码如下

import React from "react";
import axios from "axios";

export default class AppRouter extends React.Component{
    constructor(props){
      super(props);
      this.state = {
      }
    }
    componentWillMount = ()=>{
        axios({
        url:"/user/",
        headers:{
        }
        }).then(res=>{
            console.log(res.data);
        
        })
    }

    render(){
        return (
            <div>
                
            </div>
        )
    }
}

这里 我们在componentWillMount生命周期中通过引入的axios发送了一个get请求
axis上不声明请求方式就是get
路径是/user/

因为 包含了 /user 会匹配上第二个代理 成为 http://localhost:8081/user/

我们启动项目
react通过axios发送请求并演示配置多个反向代理地址解决跨域
react通过axios发送请求并演示配置多个反向代理地址解决跨域
可以 看到 代理的地址顺利的帮我们拿回了数据文章来源地址https://www.toymoban.com/news/detail-409309.html

到了这里,关于react通过axios发送请求并演示配置多个反向代理地址解决跨域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Axios发送请求的方法

    Axios发送请求的方法 发送get请求的两种方式 发送post请求的方式 发送Axios请求的方式 完整代码(Html代码) 服务端代码(node.js服务端) VUE在main.js里设置全局axios请求的配置 在main.js配置如下 在组件中使用 把axios挂载到 vue原型上 有个缺点------无法实现API接口的复用 当想要在多个组

    2024年02月08日
    浏览(37)
  • 【AJAX】axios发送请求

    引入axios 以下是axios的GET请求格式: 以下是axios的POST请求格式: 注意:params中的键值对数据是拼接在url上,无论是post还是get请求。 axios

    2024年02月13日
    浏览(56)
  • 【vue】利用axios发送请求

    根组件App.vue 路由配置 main.js配置 固定写法,复制粘贴即可 请求失败时,控制台输出的对象 请求成功时,控制台输出的对象 保存登录返回的token 获取token const token=response.data.token 保存到LocalStorage中:永久存储,只有不手动删除,永久保存到LocalStorage中 window.localStorage.setItem(‘

    2024年02月05日
    浏览(64)
  • html+Vue+封装axios实现发送请求

    在html中使用Vue和Axios时,可以在HTML中引入Vue库和Axios库,然后使用Vue的语法和指令来创建Vue组件和模板。在Vue组件中,你可以使用Axios发送HTTP请求来获取数据,并将数据绑定到Vue模板中进行展示。 这段代码在HTML中使用了Vue,使用axios并设置了请求拦截器和响应拦截器。它实现

    2024年02月13日
    浏览(53)
  • 报错:axios发送的所有请求都是404

    对后台发送数据请求接口,在 Swagger 上是可以请求到的 但是通过 Ajax 发送请求就会报 404 Swagger 上调用如下 项目接口请求如下

    2024年02月10日
    浏览(31)
  • axios 使用FormData格式发送GET请求

    如果你需要使用, FormData 格式,发送 GET请求 将参数拼接到 FormData对象 中, 使用 URLSearchParams 将 FormData对象 转换为 查询参数字符串 ,并将其拼接到URL中, 这样就能 以FormData格式发送GET请求 给服务器 注意: URLSearchParams 是ES6中的内置对象,如果你的项目中使用的是较旧的

    2024年02月11日
    浏览(42)
  • axios发送请求的五种方法详解

    1、带参数 // 方式一: //请求的地址为 localhost:8080/url?id=1         axios.get(\\\'/url\\\', {params: {id: 1}})   // 方式二: // 请求的地址为 localhost:8080/url?id=2 axios({     methods: \\\'get\\\',     url: \\\'/url\\\',     params: {         id: 2     } }) 2、不带参数 // 方式一:  axios({ methods: \\\'get\\\', url: \\\'/url\\\' }) // 方式二

    2024年04月25日
    浏览(34)
  • 【Ajax】笔记-Axios与函数发送AJAX请求

    1、Axios是一个基于Promise的HTTP库,而Ajax是对原生XHR的封装; 2、Ajax技术实现了局部数据的刷新,而Axios实现了对ajax的封装。 ajax: 本身是针对MVC的编程,不符合现在前端MVVM的浪潮 基于原生的XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案 JQuery整个项目太大,单纯使用

    2024年02月16日
    浏览(45)
  • axios添加缓存请求,防止多次请求,单页面多个同一组件造成多次请求解决方案

    在 vue 开发中,我们偶尔会遇到相同组件多次调用一个请求的问题,即使添加了缓存,但在第一次调用时也会出现这类问题,这种问题的根源往往是由于第一个组件发起的请求没有返回数据,第二个组件没有在缓存中获取到数据而重新发起请求。 解决这种问题我们往往可以分

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包