• vue之使用axios使用


    1.安装:

    进入到工程根目录下,然后 运行命令安装:

    npm i axios -S

    2.在src/util/request.js:

    import axios from 'axios'   //导入

    const request = axios.create({ //创建一个request对象
    baseURL: '/api', // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!!
    timeout: 5000
    })

    //请求拦截器,在往后台发送数据前做一些处理
    // request 拦截器
    // 可以自请求发送前对请求做一些处理
    // 比如统一加token,对请求参数统一加密
    request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';

    // config.headers['token'] = user.token; // 设置请求头
    return config
    }, error => {
    return Promise.reject(error)
    });

    //响应拦截器,设置从后台请求一些数据后,对其进行处理
    // response 拦截器
    // 可以在接口响应后统一处理结果
    request.interceptors.response.use(
    response => {
    let res = response.data;
    // 如果是返回的文件
    if (response.config.responseType === 'blob') { //如果时文件的话,直接返回
    return res
    }
    // 兼容服务端返回的字符串数据
    if (typeof res === 'string') { //如果是string的话,会进行JSON.parse,把json字符串变为json对象
    res = res ? JSON.parse(res) : res
    }
    return res;
    },
    error => { //如果出现error,就打印一个error的日志
    console.log('err' + error) // for debug
    return Promise.reject(error)
    }
    )


    export default request //最后将请求导出来


    //1.先创建,再对发出的请求做处理,再对收到的响应做处理,最后将其导出

     3.在main.js中使用:

    加入代码:

    import request from "./util/request";   //1、导入
    
    Vue.prototype.request=request  //2.使用

    加入后main.js代码:

    import Vue from 'vue'
    import App from './App.vue'
    import router from './router'
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    import './assets/gloable.css'
    // import 'amfe-flexible';
    import 'lib-flexible/flexible'
    import request from "./util/request";   //1、导入
    
    
    Vue.config.productionTip = false
    
    Vue.use(ElementUI, {size:"mini"});   //{size:"mini"}设置控件大小
    
    Vue.prototype.request=request  //2.使用
    
    new Vue({
      router,
      render: h => h(App)
    }).$mount('#app')

     4.在Home.vue中使用:

    使用代码:

    加入后的Home.vue代码:

  • 相关阅读:
    Servlet 生命周期、工作原理(转)
    JVM的内存区域划分(转)
    Java的四个基本特性和对多态的理解
    单例模式和多例模式的区别(转)
    TCP/IP协议体系结构简介
    数据库优化性能
    存储过程的优缺点(转)
    ConurrentHashMap和Hashtable的区别
    XML和JSON优缺点
    HashMap和HashTable的区别
  • 原文地址:https://www.cnblogs.com/jingzaixin/p/16391237.html
Copyright © 2020-2023  润新知