允许在微信小程序中发出请求的Axios适配器
时间: 2024-05-13 19:18:28 浏览: 172
在微信小程序中发起网络请求需要使用`wx.request`方法,而不是像在浏览器中使用`XMLHttpRequest`或`fetch`。因此,我们需要为Axios提供一个适配器,以便能够在微信小程序中使用Axios进行请求。
以下是一个简单的Axios适配器,可以在微信小程序中使用:
```javascript
// 微信小程序 Axios 适配器
const adapter = (config) => {
return new Promise((resolve, reject) => {
const request = {
url: config.url,
method: config.method,
header: config.headers,
data: config.data,
success: (res) => {
resolve({
data: res.data,
status: res.statusCode,
statusText: '',
headers: res.header,
config: config,
request: request
})
},
fail: (err) => {
reject(err)
}
}
wx.request(request)
})
}
```
使用该适配器后,可以像在浏览器中使用Axios一样在微信小程序中发起请求,例如:
```javascript
import axios from 'axios'
axios.defaults.adapter = adapter // 设置适配器
axios.get('/api/user')
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
```
阅读全文