• Vue 框架学习(十一) axios


    1、请求方式

    axios(config)

    // 发送 POST 请求
    axios({
      method: 'post',
      url: '/user/12345',
      data: {
        firstName: 'Fred',
        lastName: 'Flintstone'
      }
    });
    View Code

    别名请求

    axios.request(config)

    //原始的Axios请求方式
    axios({
      method: 'post',
      url: '/user/12345',
      data: {
        firstName: 'Fred',
        lastName: 'Flintstone'
      },
      timeout: 1000,
      ...//其他相关配置
    });
    View Code

    axios.get(url[, config])

    axios.get('demo/url', {
        params: {
            id: 123,
            name: 'Henry',
        },
       timeout: 1000,
      ...//其他相关配置
    })
    View Code

     

    axios.delete(url[, config])

    //如果服务端将参数作为java对象来封装接受
    axios.delete('demo/url', {
        data: {
            id: 123,
            name: 'Henry',
        },
         timeout: 1000,
        ...//其他相关配置
    })
    //如果服务端将参数作为url参数来接受,则请求的url为:www.demo/url?a=1&b=2形式
    axios.delete('demo/url', {
        params: {
            id: 123,
            name: 'Henry',
        },
         timeout: 1000,
        ...//其他相关配置
    })
    View Code

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

    axios.post('demo/url', {
        id: 123,
        name: 'Henry',
    },{
       timeout: 1000,
        ...//其他相关配置
    })
    View Code

     

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

    axios.put('demo/url', {
        id: 123,
        name: 'Henry',
    },{
       timeout: 1000,
        ...//其他相关配置
    })
    View Code

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

    axios.patch('demo/url', {
        id: 123,
        name: 'Henry',
    },{
       timeout: 1000,
        ...//其他相关配置
    })
    View Code

    参考文档:http://www.axios-js.com/zh-cn/docs/

     

    2、网络模块的封装 

    封装:

    import axios from 'axios'
    
    export function request(config) {
      // 1.创建axios实例
      const instance = axios.create({
        baseURL: 'http://123.207.32.32:8000',
        timeout: 5000
      })
    
      // 2.发送真正的网络请求
      return instance(config)
    }
    request.js

    调用:

    import {
      request
    } from './request'
    
    export function getHomeMultidata() {
      return request({
        url: '/home/multidata'
      })
    }
    
    
    export function getHomeGoods(type, page) {
      return request({
        url: '/home/data',
        method: 'get',
        params: {
          type,
          page
        }
      })
    }
    home.js

    3、拦截器

    // 拦截器
    // 请求拦截
    instance.interceptors.request.use(config => {
      console.log('success');
      // 等待图标,token验证等
      return config
    }, err => {
      console.log('failed');
    })
    // 相应拦截
    instance.interceptors.response.use(res => {
      console.log('success');
      // 这里可以进行数据处理,只返回res.data等
      return res
    }, err => {
      console.log('failed');
    })
    View Code
    每天进步一点点
  • 相关阅读:
    (转)kubernetes更新操作详解--kubectl apply
    awk做统计和计算平均值
    kvm虚拟化
    容器(转
    使用python3来实现简易web服务
    12306接口
    python3中的venv环境
    markdown 插入表格
    面向对象编程——类(class)2
    开发纯ndk程序之环境搭配
  • 原文地址:https://www.cnblogs.com/smallstars/p/13538428.html
Copyright © 2020-2023  润新知