简介
[Axios]是一个基于promise的网络请求库,可以运行node.js和浏览器中。基于Axios原库v1.3.4GitHub版本进行适配,使其可以运行在OpenHarmony并沿用其现有用法和特性。
- http请求。
- request和 response拦截器。
- 转换request和response的data数据。
- 自动转换JSON data数据。
下载与安装三方库
// 在终端cd到需要使用三方库的module 运行下面命令
ohpm install @ohos/axios
需要使用到的权限:ohos.permission.INTERNET。
场景一:使用axios发送常规请求
如:axios.get<T = any, R = AxiosResponse, D = any>(url)
- R: 是响应体的类型。当服务器返回一个响应时,响应体通常是一个JSON对象。R就是这个JSON对象的类型。默认情况下,R是AxiosResponse,这意味着响应体是一个AxiosResponse对象,它的data属性是T类型的
- D: 是请求参数的类型。当发送一个GET请求时,可能会在URL中添加一些查询参数。D就是这些查询参数的类型。参数为空情况下,D是null类型。
发送一个get请求获取服务器端的JSON字符串
使用axios来获取,performanceTiming计算HTTP请求的各个阶段所花费的时间。
axios.get<string, AxiosResponse<string>, null>(this.getUrl, {}).then((res: AxiosResponse) => {
this.status = res.status;
this.message = JSON.stringify(res.data);
this.performanceTiming = JSON.stringify(res.performanceTiming) : '';
}).catch((err: AxiosError) => {
this.status = '';
this.message = err.message;
})
将请求结果显示。
使用axios为服务端的JSON添加data数据这个时候使用POST请求。
axios.post<T = any, R = AxiosResponse, D = any>(url)
T: 是响应数据类型。当发送一个 POST 请求时,客户端可能会收到一个 JSON 对象。T 就是这个 JSON 对象的类型。默认情况下,T 是 any,这意味着可以接收任何类型的数据。
axios<InfoModel, AxiosResponse<InfoModel>, IdModel>({
url: this.postUrl,
method: 'POST',
data: {
id: 592,
name: 'zxing',
gitUrl: 'https://git