zoukankan      html  css  js  c++  java
  • 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
    每天进步一点点
  • 相关阅读:
    LoadRunner11 问题记录
    安装依赖包时,编译提示依赖库未安装,但实际上已经安装
    Close_wait进程过多
    JS中的混合模式
    JS面相对象
    JS中的工厂模式
    函数式编程Map()&Reduce()
    JavaScript函数参数与调用
    JavaScript中的prototype
    循环
  • 原文地址:https://www.cnblogs.com/smallstars/p/13538428.html
Copyright © 2011-2022 走看看