axios post,get 封装,支持数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了axios post,get 封装,支持数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2080字,纯文字阅读大概需要3分钟。
内容图文
![axios post,get 封装,支持数据类型](/upload/InfoBanner/zyjiaocheng/1249/4f9828164ba644f6b928ca96e9c733c9.jpg)
import axios from ‘axios‘ import store from ‘../vuex/store‘ import router from ‘../router/index‘ import { stringify } from ‘qs‘ //qs模块// axios 配置 axios.defaults.timeout = 5000; axios.defaults.baseURL = ‘‘;//‘http://hzzly.net:4000‘;// http request 拦截器axios.interceptors.request.use( config => { if (store.state.token) { config.headers.Authorization = `token ${store.state.token}`; } return config; }, err => { return Promise.reject(err); }); // http response 拦截器axios.interceptors.response.use( response => { return response; }, error => { if (error.response) { switch (error.response.status) { case 401: // 401 清除token信息并跳转到登录页面//store.commit(types.LOGOUT); router.replace({ path: ‘login‘, query: {redirect: router.currentRoute.fullPath} }); break; case 403: break; case 504: break; case 500: //store.dispatch(types.AJAX_ERROR,500);break; case 404: //store.dispatch(types.AJAX_ERROR,404);break; } } console.log(JSON.stringify(error));//console : Error: Request failed with status code 402return Promise.reject(error.response.data) }); /*{ type:type, params:params, }*/// 封装请求 export function fetch (url, options) { var opt = options || {} returnnew Promise((resolve, reject) => { axios({ method: opt.type || ‘post‘, url: url, params: opt.params || {}, // 判断是否有自定义头部,以对参数进行序列化。不定义头部,默认对参数序列化为查询字符串。 data: (opt.headers ? opt.data : stringify(opt.data)) || {}, responseType: opt.dataType || ‘json‘, // 设置默认请求头 headers: opt.headers || {‘Content-Type‘: ‘application/x-www-form-urlencoded; charset=UTF-8‘} }).then(response => { if (response.data.code === 0) { resolve(response.data) } elseif (response.data.code === ‘000‘) { resolve(response.data) } else { reject(response.data) //store.commit(‘SET_LOADING‘, false) } }).catch(error => { console.log(error) reject(error) //store.commit(‘SET_LOADING‘, false) }) }) } export default axios;
使用axios封装的功能
import { fetch } from ‘../../util/api‘ //用户登录 export const userLogin= (data)=> fetch(‘/api/users/api/userLogin‘,{ data, ‘type‘:‘post‘ });
原文:http://www.cnblogs.com/szatpig/p/7608718.html
内容总结
以上是互联网集市为您收集整理的axios post,get 封装,支持数据类型全部内容,希望文章能够帮你解决axios post,get 封装,支持数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。