axios使用表单格式提交内容简单包装

前端之家收集整理的这篇文章主要介绍了axios使用表单格式提交内容简单包装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

TypeScript

import axios from "axios"
import qs from "qs"

interface $getData {
api: string
data: any
method: string
modal: string
beforeRes(): void
success?(res: any): void
fail?(err: any): void
complete(): void

}

interface Promise {
finally(): void
}
// 自定义ajax方法
function getData({
api = '',data = null,modal = "form",method = "get",success = false,fail = false,complete = false,beforeRes = false
}: $getData
) {
let fetched: any
beforeRes && (beforeRes())
// 如果是get
if (method == 'get') {
fetched = axios({
method: method,url: api,params: {
...data
}
})
} else if (modal == 'form') {
fetched = axios({
method: method,data: qs.stringify(data)
})
} else if (modal == 'json') {
fetched = axios({
method: method,data: {
...data
}
})
} else {
return false
}
fetched.then((res: any) => {
success && (success(res))
return {result:true,res:res}
}).catch((err: any) => {
fail && (fail(err))
return {result:false,err:err}
}).finally(() => {
complete && (complete())
})

}
export {
getData
}

猜你在找的程序笔记相关文章