axios模块化使用,axios拦截

2020-08-21  本文已影响0人  是嗯哼小仙女呀

基础

下载:npm install(i) axios
引入:import axios from 'axios'
在miain.js文件中挂载到原型上Vue.prototype.axios=axios(这种方法比较low)

使用:

原型使用axios前加this:

axios({
    url:'',
    method:'get/post',
    params:{}//get
    data:{}//data
})
.then(res=>{})
.catch(err=>{})
//get
axios.get('地址',{
    params:{}
})
.then(res=>{})
.catch(err=>{})
//post
axios.post('地址',data)
.then(res=>{})
.catch(err=>{})
拦截
let http=axios.create();
//请求拦截
http.interceptors.request.use(config=>{
    return config
})
//响应拦截
http.interceptors.response.use(response=>{
    return response
})

模块化

第一步:

下载:npm install(i) axios

第二步:

在scr文件夹下创建公通的common文件夹
common下创建一个axios基础配置文件axiosConfig.js

import axios from 'axios' //引用
// import router from '../router' //路由引用,若是在文件内有涉及,就要进行引用
let http=axios.create();
//请求拦截
http.interceptors.request.use(config=>{
    return config
})
//响应拦截
http.interceptors.response.use(response=>{
    return response
})
//抛出模块
export default http
第三步:common下创建api文件,引入基础配置
import http from './axiosConfig' //引入基础配置
let getData = {} //抛出接口对象
//let baseUrl = "http://localhost:3000"  
//改成代理服务器地址
let baseUrl = "/api"  //这里基础地址
//post的数据请求
import http from './axiosConfig'let getData = {}//let baseUrl = "http://localhost:3000"//改成代理服务器地址let baseUrl = "/api"
//get的数据请求方式
getData.findManger = (data)=>{ 
  return http.get(baseUrl + '/findManage',{ params:data })
}
//post的数据请求方式
getData.find = (data)=>{ 
  return http.post(baseUrl + '/findManage',data )
}
export default getData
第四步:在页面中进行接口调用
import url from "../../util/api";  //进行页面引入
//调用接口
url.login(this.userInfo)   //this.userInfo//传递的数据
.then(res=>{
//res请求回来的数据
}).catch(err=>{
//err错误信息
})
上一篇下一篇

猜你喜欢

热点阅读