vue项目中axios安装
npm install axios --save
axios的get和post的基本用法
//发起一个get请求
axios({
method:'get',
url:'http://kumanxuan1.f3322.net:8001/index/index',
})
.then(function(responce){
console.log(responce)
});
//发起一个post请求
axios({
method:'post',
url:'http://kumanxuan1.f3322.net:8001/index/index',
})
.then(function(responce){
console.log(responce)
});
axios封装
在src目录创建request文件夹
request.js
//这份文件就是用来做拦截的
import axios from 'axios';
//创建一个单例
const instance = axios.create({
baseURL: 'http://kumanxuan1.f3322.net:8001',
timeout:4000
})
//拦截器-请求拦截
instance.interceptors.request.use(config => {
//部分接口需要拿到token
let token = localStorage.getItem('token');
if (token) {
config.headers = {
'aa-token':token
}
}
return config
}, err => {
return Promise.reject(err)
});
//拦截器-响应拦截
instance.interceptors.response.use(res => {
return res;
}, err => {
return Promise.reject(err)
});
//整体导出
export default instance;
api.js
//将request.js整体导入
import request from './request'
//请求首页数据
export const GetHomeAPI = () => request.get('/index/index');
//登录
export const PostLoginAPI = () => request.post('/index/index');
//带参请求
export const dianji = (data) => request.get('onclick', data);
使用
<script>
import {GetHomeAPI} from '@/request/api.js'
import{PostLoginAPI} from '@/request/api.js'
export default{
name:'HelloWorld',
methods: {
getFn(){
//发起一个get请求
GetHomeAPI().then(function(res){
console.log(res)
})
},
postFn(){
//发起一个post请求
PostLoginAPI().then(function(res){
console.log(res)
})
},
dianji(){
//发起一个带参请求
dianji({
params:{
ID:this.
}
}).then((res)=>{
})
}
}
}
</script>