jsfunction myAxios(config) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest()
// 判断有没有params参数
if(config.params) {
// map写法
// config.url = config.url + '?' + Object.keys(config.params).map(key => `${key}=${config.params[key]}`).join('&')
// URLSearchParams写法
config.url = config.url + '?' + new URLSearchParams(config.params).toString()
}
xhr.open(config.method || 'GET', config.url)
xhr.addEventListener('loadend', () => {
if(xhr.status >= 200 && xhr.status <300){
resolve(JSON.parse(xhr.response))
}else if(xhr.status >= 400){
reject(new Error(xhr.response))
}
})
// 判断有没有请求头
if(config.data) {
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.send(JSON.stringify(config.data))
}else {
xhr.send()
}
})
}
本文作者:hwy2580
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!