React中的axios模块及使用方法

 更新时间:2022年03月09日 10:40:20   作者:橘猫吃不胖~  
axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,本文给大家分享React中axios模块的使用方法,感兴趣的朋友一起看看吧

1 axios介绍

axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。它可以提供以下服务:
1、从浏览器中创建XMLHttpRequest(该对象是ajax(异步请求)的核心)
2、从node.js创建http请求
3、支持PromiseAPI
4、拦截请求和响应
5、转换请求数据和响应数据
6、取消请求
7、自动转换JSON数据
8、客户端支持防御XSRF

2 使用方法

2.1 在React中安装axios

npm install axios

2.2 get请求

1、发起不带参数的get请求:

// 方式1
axios({methods: 'get', url: '/url'})
    .then(res => { // 请求成功后的处理
        // res是服务器返回的响应数据
    }).catch(err => { // 请求失败后的处理
    // err是请求失败后的信息
})
// 方式2
axios.get("url")
    .then(res => { // 请求成功后的处理
        // res是服务器返回的响应数据
    }).catch(err => { // 请求失败后的处理
    // err是请求失败后的信息
})

2、发起带参数的get请求:在服务器端获取请求参数的方式 —> req.query.参数名

// 方式1
axios.get("url", {params: {参数名: 参数值}})
    .then(res => {
    })
    .catch(err => {
    })

// 方式2
axios({
    method: "get",
    url: "url",
    params: {
        参数名: 参数值
    }
})
    .then(res => {
    })
    .catch(err => {
    })

2.3 post请求:发送表单数据和文件上传

1、发起不带参数的post请求

// 方式1
axios({
    method: "post",
    url: "url"
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.post("url")
    .then(res => {

    }).catch(err => {
    
})

2、发起带参数的post请求:在服务器端获取请求参数的方式 —> req.body.参数名

// 方式1
axios({
    method: "post",
    url: "url",
    data: {
        参数名: 参数值
    }
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.post("url", {参数名: 参数值})
    .then(res => {

    }).catch(err => {

})

2.4 put请求:对数据进行全部更新

1、发起不带参数的put请求

// 方式1
axios({
    method: "put",
    url: "url"
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.put("url")
    .then(res => {

    }).catch(err => {
    
})

2、发起带参数的put请求:在服务器端获取请求参数的方式 —> req.body.参数名

// 方式1
axios({
    method: "put",
    url: "url",
    data: {
        参数名: 参数值
    }
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.put("url", {参数名: 参数值})
    .then(res => {

    }).catch(err => {

})

2.5 patch请求:只对更改过的数据进行更新

1、发起不带参数的patch请求

// 方式1
axios({
    method: "patch",
    url: "url"
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.patch("url")
    .then(res => {

    }).catch(err => {
    
})

2、发起带参数的patch请求:在服务器端获取请求参数的方式 —> req.body.参数名

// 方式1
axios({
    method: "patch",
    url: "url",
    data: {
        参数名: 参数值
    }
}).then(res => {

}).catch(err => {
    
})

// 方式2
axios.patch("url", {参数名: 参数值})
    .then(res => {

    }).catch(err => {

})

2.6 delete请求:删除请求(参数可以放在url上,也可以和post一样放在请求体中)

1、可以像get请求一样包装请求参数:在服务器端获取请求参数的方式 —> req.query.参数名

axios.delete('url', {
    params: {
        参数名: 参数值
    }
}).then(res => {
}).catch(err => {
})

2、可以像post请求一样包装请求参数:在服务器端获取请求参数的方式 —> req.body.参数名

axios.delete('url', {data: {参数名: 参数值}})
    .then(res => {
    })
    .catch(err => {
    })

3 axios的响应结构

{
    // `data` 由服务器提供的响应
    data: {},
    // `status`  HTTP 状态码
    status: 200,
    // `statusText` 来自服务器响应的 HTTP 状态信息
    statusText: "OK",
    // `headers` 服务器响应的头
    headers: {},
    // `config` 是为请求提供的配置信息
    config: {}
}

后台:res.json(result),发送了json格式的数据,相当于:{ data: result }
前端:res.data

例如后台:

res.json({
    code: 1001,
    msg: '橘猫吃不胖'
})

前端:

res.data.code // 1001
res.data.msg // 橘猫吃不胖

到此这篇关于React中的axios模块的文章就介绍到这了,更多相关React axios模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • React Native开发封装Toast与加载Loading组件示例

    React Native开发封装Toast与加载Loading组件示例

    这篇文章主要介绍了React Native开发封装Toast与加载Loading组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • React使用公共文件夹public问题

    React使用公共文件夹public问题

    这篇文章主要介绍了React使用公共文件夹public问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • React组件设计模式之组合组件应用实例分析

    React组件设计模式之组合组件应用实例分析

    这篇文章主要介绍了React组件设计模式之组合组件,结合实例形式分析了React组件设计模式中组合组件相关概念、原理、应用场景与操作注意事项,需要的朋友可以参考下
    2020-04-04
  • React hook实现简单的websocket封装方式

    React hook实现简单的websocket封装方式

    这篇文章主要介绍了React hook实现简单的websocket封装方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • redux功能强大的Middleware中间件使用学习

    redux功能强大的Middleware中间件使用学习

    这篇文章主要为大家介绍了redux功能强大的Middleware中间件使用学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 详解React中多种组件通信方式的实现

    详解React中多种组件通信方式的实现

    在React中,组件之间的通信是一个非常重要的话题,React提供了几种方式来实现跨组件通信,下面小编将详细讲讲其中几种通信方式,并提供实际的代码示例,需要的可以参考下
    2023-11-11
  • 详解如何使用React和MUI创建多选Checkbox树组件

    详解如何使用React和MUI创建多选Checkbox树组件

    这篇文章主要为大家详细介绍了如何使用 React 和 MUI(Material-UI)库来创建一个多选 Checkbox 树组件,该组件可以用于展示树形结构的数据,并允许用户选择多个节点,感兴趣的可以了解下
    2024-01-01
  • 基于React的状态管理实现一个简单的颜色转换器

    基于React的状态管理实现一个简单的颜色转换器

    这篇文章主要介绍了用React的状态管理,简简单单实现一个颜色转换器,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-08-08
  • Yarn安装项目依赖报error An unexpected error occurred: “XXXXX:ESOCKETTIMEOUT”问题解决

    Yarn安装项目依赖报error An unexpected error occurred: “XXXXX:E

    这篇文章主要为大家介绍了Yarn安装项目依赖报error An unexpected error occurred: “XXXXX:ESOCKETTIMEOUT”问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • React中的ref属性的使用示例详解

    React中的ref属性的使用示例详解

    React 提供了 refrefref 属性,让我们可以引用组件的实例或者原生 DOM 元素,使用 refrefref,可以在父组件中调用子组件暴露出来的方法,或者调用原生 element 的 API,这篇文章主要介绍了React中的ref属性的使用,需要的朋友可以参考下
    2023-04-04

最新评论