2021-03-20

Axios是什么?Axios的封装及使用?

什么是Axios?
Axios是一个基于Promise的HTTP库,可以用在浏览器和node.js中,用来发送网络请求。

Axios的优点?

  1. 支持发送ajax异步请求
  2. 支持在node.js发送ajax异步请求
  3. 支持promise,它内部本身就返回一个Promise
  4. 支持拦截器请求和响应
  5. 支持对请求和响应的数据做处理

Axios的使用?

  1. Axios所支持的请求方法本身只有两个:
    axios(config)和axios(url,[config])

  2. 向Axios传递相关配置来创建请求

// 1.axios(config)
axios({
  url: 'http://123.207.32.32:8000/home/data',
  // 默认为get请求
  // method: 'get'
  //专门针对get请求的参数拼接
  params: {
    type: 'pop',
    page: 1
  }
  //axios内部支持promise
}).then(res => {
  console.log(res);
})

注:axios(config)和axios(url,[config])中的[]中内容可以不写,但是不带[]的是必写项

// 2.Axios(url,[config])
// 发送get请求 (默认的方法)
axios( 'http://123.207.32.32:8000/home/data');
  1. Axios还提供了以下几种请求方式:
// 1.axios.all 发送并发请求
// 为了方便发送请求,可以先进行一个全局配置
 axios.defaults.baseURL = 'http://123.207.32.32:8000';
  axios.all([axios({
  url: '/home/multidata',
}),
axios({
  url: '/home/data',
  params: {
    type: 'sell',
    page: 3
  }
})
]).then(axios.spread((res1, res2) => {
  console.log(res1);
  console.log(res2);
})
)
// 2.axios.post() 发送post请求
axios.post( '/home/data',{
params: {
    type: 'sell',
    page: 3
    }
// 此外还有put请求,patch请求,delete请求

 - get:获取数据,请求指定的信息,返回实体对象
 - post:向指定资源提交数据(例如表单提交或文件上传)
 - put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容 
 - patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新
 - delete:请求服务器删除指定的数据

Axios的封装?

  1. 创建Axios的实例
  2. Axios的拦截
    2.1. 请求拦截
    2.2. 响应拦截
  3. 发送真正的网络请求 它本身返回一个promise

在实际项目中,一般是在src文件目录下新建一个network文件夹,在network文件夹中新建request.js文件,目录结构如下:
在这里插入图片描述
在request.js文件中引入安装好的axios,(前提是安装好的)

import axios from 'axios'
export function request(config) {
    //1.创建axios的实例
    const instance = axios.create({
        baseURL: 'http://152.136.185.210:7878/api/m5',
        timeout: 5000
    })
    //2.axios的拦截器
    //2.1.请求拦截
    instance.interceptors.request.use(config => {
        // console.log(config);
        return config
    }, err => {
        console.log(err);
    })
    //2.2.响应拦截
    instance.interceptors.response.use(res => {
        // console.log(res);
        return res.data
    }, err => {
        console.log(err);
    })
     //3.发送真正的网络请求 它本身返回一个promise
    return instance(config)
}

 
  1. 接下来把将要请求的页面的数据单独做一个封装,一般是放在与request.js同层级的文件下,比如(home.js),这样安排目录文件便于后期管理
    以home.js文件为例,在home.js引入request.js文件,然后请求数据
import { request } from './request'
export function getHomeGoods(type, page) {
    return request({
        url: '/home/data',
        params: {
            type,
            page
        }
    })
}
  1. 接下来在组件中获取数据
getHomeGoods(type) {
      //请求商品数据
      const page = this.goods[type].page + 1;
      getHomeGoods(type, page).then((res) => {
        // console.log(res);
        this.goods[type].list.push(...res.data.list);
        this.goods[type].page += 1;
        this.$refs.scroll.finishPullUp();
      });
    },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
最新发布
02-06
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值