react中的axios模块你了解吗
目录
- 一、react中axios模块的使用
- 1、基于Promise的HTTP库用在浏览器和node.js中
- 2、创建XMLHttpRequest对象:
- 3、在react中安装axios
- 4、发起不带参数的get请求
- 5、带参数的get请求
- 6、post请求:发送表单数据和文件上传
- 7、put请求
- 8、delete请求
- 例如:
- 总结
一、react中axios模块的使用
1、基于Promise的HTTP库用在浏览器和node.js中
可以提供以下服务:
(1)从浏览器中创建XMLHttpRequest
(2)从node.js创建http请求
(3)支持PromiseAPI
(4)拦截请求和响应
(5)转换请求数据和响应数据
(6)取消请求
(7)自动转换JSON数据
(8)客户端支持防御XSRF
2、创建XMLHttpRequest对象:
该对象是ajax(异步请求)的核心
3、在react中安装axios
npm install axios
4、发起不带参数的get请求
方式一:axios({ methods: 'get', url: '/ulr' }).then(res => {//请求成功后的处理console.log(res)}).catch(err => {//请求失败后的处理console.error(err); })
'res'是服务器返回的响应数据
err是请求失败后的信息
方式二:axios.get('/url').then(res => {console.log(res)}).catch(err => {console.error(err); })
5、带参数的get请求
在服务器端获取请求参数的方式--> req(request).query.参数名
方式一: axios.get('/url', {params: {id: 12}}).then(res => {console.log(res)}).catch(err => {console.error(err); })//请求的地址实际为:http://localhost:8080/url?id=12
方式二:axios({methods: 'get',url: 'url',params: {id:12//'id'为参数名}}).then(res => {console.log(res)}).catch(err => {console.error(err); })
6、post请求:发送表单数据和文件上传
(1)不带参数的post请求
方法一:axios({method:'post',url:'/url'}).then(res=>{}).catch(err=>{})
方法二:axios.post('url').then(res=>{}).catch(err=>{})
(2)带参数的post请求:在服务器端获取请求参数的方式-->req.body.参数名
服务器端使用req.body.参数名 获取数据let data = https://www.it610.com/article/{}let config = {}方式一:axios.post('/url',{id:12}).then(res => {console.log(res)}).catch(err => {console.error(err); })
方式二:axios({methods: 'post',url: '/url',data: {id:12}}).then(res => {console.log(res)}).catch(err => {console.error(err); })
7、put请求
和post请求类似
8、delete请求
(1)可以像get请求一样包装请求参数:在服务器端获取请求参数的方式--req.query.参数名
参数在url的params中:服务器端使用req.query.参数名 获取数据axios.delete('/url', {params: {id: 12}//'id'为参数名}).then(res => {console.log(res)}).catch(err => {console.error(err); })
(2)可以像post请求一样包装请求参数:在服务器端获取请求参数的方式--req.body.参数名
参数在请求体(post)中 将params改为 data就行:服务器端使用req.body.参数名 获取数据axios.delete('/url', {data: {id: 12}//'id'为参数名}).then(res => {console.log(res)}).catch(err => {console.error(err); })
强调:axios的响应结构
后台:
res.json(result)
//发送了json格式的数据相当于:
{ data: result }
前端:
res.data
例如: 后台:
res.json({code:1001,msg: '小森'})
前端:
res.data.code
res.data.msg
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- React中的axios模块及使用方法
- Nebula Graph 在网易游戏业务中的实践
- 再不用怕 Markdown 中的绘图了,GitHub 官方支持 Mermaid 图表绘制工具
- python中的|python中的 sorted()函数和sort()方法区别
- vite-vue-ts axios请求
- vue|vue初学(axios获取api的数据)
- VUE|基于Vant组件的Vue移动端黑马头条项目Day01 处理rem适配 字体图标 封装axios
- 别再写一堆的 for 循环了!Java 8 中的 Stream 轻松遍历树形结构,是真的牛逼!
- leetcode|Leetcode二分查找12:1351. 统计有序矩阵中的负数
- 《LeetCode算法全集》|?算法入门?《二分枚举》简单13 —— LeetCode 1351. 统计有序矩阵中的负数