封装axios来进行ajax请求
1 /* 2 ajax请求函数模块 3 返回值: promise对象(异步返回的数据是: response.data) 4 */ 5 import axios from 'axios' 6 export default function ajax (url, data={}, type='GET') { 7 8 return new Promise((resolve, reject) => { 9 // 执行异步ajax请求 10 let promise 11 if (type === 'GET') { 12 // 准备url query参数数据 13 let dataStr = '' //数据拼接字符串 14 Object.keys(data).forEach(key => { 15 dataStr += key + '=' + data[key] + '&' 16 }) 17 if (dataStr !== '') { 18 dataStr = dataStr.substring(0, dataStr.lastIndexOf('&')) 19 url = url + '?' + dataStr 20 } 21 // 发送get请求 22 promise = axios.get(url) 23 } else { 24 // 发送post请求 25 promise = axios.post(url, data) 26 } 27 promise.then(function (response) { 28 // 成功了调用resolve() 29 resolve(response.data) 30 }).catch(function (error) { 31 //失败了调用reject() 32 reject(error) 33 }) 34 }) 35 }
关于此封装模块的使用:
1 返回的对象是一个promise, 我们在获取到返回结果时需要通过 .then( response => { response.data } ) 来操作异步请求带过来的数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通