axios
初级封装
//get请求
export function get(url, params){
return new Promise((resolve, reject) =>{
axios.get(url, {
params: params
}).then(res => {
resolve(res.data);
}).catch(err =>{
reject(err.data)
})
})}
//post请求
export function post(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, params)
.then(res => {
resolve(res.data);
})
.catch(err =>{
reject(err.data)
})
});
}
axios
的优化封装
初级封装只是简单封装了
get,post
请求。若涉及到token
值或者是header
则不够用。
import axios from 'axios';
let headers = {
'Content-Type': 'application/json;charset=UTF-8',
Authorization: sessionStorage.getItem('token_type') + ' ' + sessionStore.getItem('access_token')
}
//GET请求
export function get( url, params) {
return new Promise((resolve,reject)=>{
axios({
method: 'get',
url: url,
headers: headers,
params: params,
data: null
}).then(res =>{
resolve(res.data)
}).catch(err =>{
reject(err.data)
})
})
}
//POST请求
export function post( url, data){
return new Promise((resolve,reject)=>{
axios({
method: 'post',
url: url,
data: data,
headers: headers
}).then(res =>{
resolve(res.data)
}).catch(err =>{
reject(err.data)
})
})
}
//PUT请求。PUT请求的形式 - http://www.baidu.com:8080/api01/{id}
export function put( url, id, data ){
return new Promise((resolve,reject)=>{
axios({
method: 'put',
url: url + '/' + id,
headers: headers,
data: data
}).then(res =>{
resolve(res.data)
}).catch(err =>{
reject(err.data)
})
})
}
//delete请求。delete请求的形式 - http://www.baidu.com:8080/api02/{id}
export function delete(url ,id ){
return new Promise((resolve,reject)=>{
axios({
method: 'delete',
url: url + '/' + id,
headers: headers
}).then(res =>{
resolve(res.data)
}).catch(err =>{
reject(err.data)
})
})
}