浅谈axios

axios

是一个基于promise的HTTP库,可以用在浏览器和node.js中

(1)axiosAPI

实例化

axios.create([config])

方法 axios与axios的实例都可调用

axios(config) axios.request(config)
axios.get(url[, config])

     //参数:路径   配置对象    get带参方式带在params上
      axios.get("http://47.106.244.1:8099/manager/user/findAllUser", {params: obj});

axios.delete(url[, config])

 //参数:路径   配置对象(带参数{params:参数})
 axios.delete("http://47.106.244.1:8099/manager/user/findAllUser", { params: obj});

axios.head(url[, config])
axios.options(url[, config])

axios.post(url[, data[, config]])

  //参数:路径  传递的数据(json格式传递)  配置对象   post带参方式带在data上
   axios.post("http://47.106.244.1:8099/manager/user/findAllUser", obj);

axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])

处理并发请求方法

axios.all(iterable)
axios.spread(callback)

(2)配置参数

实例化axios对象需要传递的config与方法中的config都是一个对象,具有如下参数:
url 路径
method 请求方式
baseURL 基础路径
headers 设置请求头部
params get带参
data post带参
timeout
responseType
responseEncoding
withCredentials
paramsSerializer
transformRequest
transformResponse

       axios({
          // 配置对象
          url: "http://47.106.244.1:8099/manager/user/findAllUser",
          method: "get",
          // get 带参  在params上
          params: { id: 1 },
          // post带参  在data上
          data: { name: "zhangsan" },
          // 设置请求头部   默认为json
          headers: {}
        })

(3)响应结构

        与jquery中的ajax不同的是,axios会对返回结果进行封装,将其封装为如下结构:
            {
            data:{}, //完整的后台响应数据
            status:200,//状态码
            statusText: 'OK', //状态信息
            headers:{}, //服务器头部信息
            config:{}, //axios对request的配置
            request:{} //request对象
            }

(4) 配置默认值

可以指定将被用在各个请求的配置默认值

        axios.defaults.baseURL = 'https://api.example.com';
        axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
        axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

(5)axios拦截器

请求拦截器

在请求发送在服务器之前进行拦截,用于在发送请求之前的最后配置。

        
      axios.interceptors.request.use(
        (config) => {
          //在发送请求之前做些什么
          return config;
        },
        (error) => {
          // 请求错误做些什么
          return Promise.reject(error);
        }
      );

响应拦截器

在请求发送到服务器之前进行拦截,用户对响应信息的过滤和封装

          axios.interceptors.response.use(
        (response) => {
          // 对相应数据做些什么
          return response;  //返回响应数据
        },
        (error) => {
          // 对响应错误做些设么
          return Promise.reject(error);
        }
      );

(6)拦截器移除

移除请求拦截器 axios.interceptors.request.eject();
移除响应拦截器 axios.interceptors.response.eject();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值