1,下载axios
ohpm install @ohos/axios
2,发送请求
引入axios
import axios from '@ohos/axios'
使用axios
//axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';//配置POST请求头
axios.get(
`url`,//请求URl地址
{
params: { pageNo: this.pageNo, pageSize: 3 }//发送的请求参数
},
)
.then(resp => {
if (resp.status === 200) {
// 查询成功
console.log('请求成功!', JSON.stringify(resp.data))
resolve(resp.data)
} else {
console.log('请求失败!error:', JSON.stringify(resp))
reject('请求失败')
}
})
.catch(error => {
console.log('请求失败!error:', JSON.stringify(error))
reject('失败')
})
拦截器
在请求或响应被 then 或 catch 处理前拦截它们。
// 添加请求拦截器
axios.interceptors.request.use((config:InternalAxiosRequestConfig) => {
// 对请求数据做点什么
return config;
}, (error:AxiosError) => {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use((response:AxiosResponse)=> {
// 对响应数据做点什么
return response;
}, (error:AxiosError)=> {
// 对响应错误做点什么
return Promise.reject(error);
});
移除拦截器
const myInterceptor = axios.interceptors.request.use((response: AxiosResponse)=> {/*...*/});
axios.interceptors.request.eject(myInterceptor);
可以给自定义的 axios 实例添加拦截器
const instance = axios.create();
instance.interceptors.request.use((config:InternalAxiosRequestConfig)=> {/*...*/});
更多详细信息查看第三方库