使用axios优雅的发起网络请求
原文链接:https://www.jianshu.com/p/73585303fdc0
公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方法,以备以后也能优雅的使用。
ajax.js:
/*引入axios*/ import axios from 'axios' /*创建axios实例对象*/ const ajax = axios.create({ baseURL: ajaxUrl, timeout: 30000 }) /*请求拦截器(请求之前的操作)*/ ajax.interceptors.request.use( config => { return config }, /*错误操作*/ err => { return Promise.reject(err) } ) /*请求之后的操作*/ ajax.interceptors.response.use( config => { return config }, err => { return Promise.reject(err) }) /*导出模块*/ export default ajax
api.js:
import ajax from '../libs/ajax' const captcha = () => { return ajax.get(`app/captcha`) } const login = (params) => { return ajax.post(`auth/login`, params) } const apiList = { captcha, login } export default apiList
index.js:
将导出的api请求挂在到vue原型上
import apiList from './api' const install = function (Vue) { if (install.installed) return install.installed = true /*定义属性到Vue原型中*/ Object.defineProperties(Vue.prototype, { $api: { get () { return apiList } } }) } export default { install }
main.js:
/*引入index.js*/ import api from '.xxx' Vue.use(api)
按以上模板进行封装之后,就可以在需要的地方直接发起api请求了,如下:
this.$api.login(params).then(res => { /*请求成功后的操作*/ }).catch(err => { /*请求失败后的操作*/ })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?