菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 前端-汪刚-2023.06.30 [打印本页]

作者: 霁后彩虹O    时间: 2023-7-4 18:09
标题: 前端-汪刚-2023.06.30
今日学习内容:


1.axios的使用
        定义:
                 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
       功能特点:
              从浏览器中创建 XMLHttpRequests
              从 node.js 创建 http 请求
              支持 Promise API
              拦截请求和响应
              转换请求数据和响应数据
              取消请求
              自动转换 JSON 数据
              客户端支持防御 XSRF
2.axios请求方式
axios(config)
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
在使用别名方法时, urlmethoddata 这些属性都不必在配置中指定。
有时候, 我们可能需求同时发送两个请求**
       使用axios.all, 可以放入多个请求的数组.
       axios.all([]) 返回的结果是一个数组,使用 axios.spread 可将数组 [res1,res2] 展开为 res1, res2
3.常见的配置选项
请求地址
       url: '/user',
请求类型
       method: 'get',
请根路径
baseURL: 'http://www.mt.com/api',
请求前的数据处理
transformRequest:[function(data){}],
请求后的数据处理
transformResponse: [function(data){}],
自定义的请求头
headers:{'x-Requested-With':'XMLHttpRequest'},
URL查询对象
params:{ id: 12 },
查询对象序列化函数
paramsSerializer: function(params){ }
request body
data: { key: 'aa'},
超时设置
timeout: 1000
## axios的创建实例
**为什么要创建axios的实例呢?**
当我们从axios模块中导入对象时, 使用的实例是默认的实例;
当给该实例设置一些默认配置时, 这些配置就被固定下来了.
但是后续开发中, 某些配置可能会不太一样;
比如某些请求需要使用特定的baseURL或者timeout等.
这个时候, 我们就可以创建新的实例, 并且传入属于该实例的配置信息.
## 请求和响应拦截器
**axios的也可以设置拦截器:拦截每次请求和响应**
axios.interceptors.request.use(请求成功拦截, 请求失败拦截)
axios.interceptors.response.use(响应成功拦截, 响应失败拦截)








欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4