官方文档:
ArkUI简介-ArkUI(方舟UI框架)-应用框架 | 华为开发者联盟 (huawei.com)
一、通过原有的http组件进行网络请求(方式一)
1.1 HttpRequestOptions的操作
|-----------------|------------------|---------------------------|
| 名称 | 类型 | 描述 |
| method | RequestMethod | 请求方式:GET、POST、PUT、DELETE等 |
| extraData | string | Object | 请求参数 |
| header | Object | 请求头字段 |
| connectTiimeout | number | 连接超时时间,单位毫秒 |
| readTimeout | number | 读取超时时间,同上 |
1.2 HttpResponse类的属性
|--------------|------------------|-------------------|
| 名称 | 类型 | 描述 |
| responseCode | ResponseCode | 响应状态码 |
| header | Object | 响应头 |
| cookies | string | 响应返回的cookies |
| result | string | object | 响应体,默认为JSON格式的字符串 |
二、通过axios网络请求的方式(方式二)
2.1 安装搭建axios环境
打开Ohpm/bin的目录
打开cmd窗口
(1)输入命令
init.bat
(2)配置环境变量目录为ohpm的目录
然后再Path中添加 %OHPM_HOME%\bin
(3)输入查看版本的命令,判断是否朋配置环境变量成功
ohpm -v
(4)对于要使用axios的项目,进入项目的根目录执行安装axios的命令
ohpm install @ohos/axios
2.2 axios请求的响应对象的属性
|---------|--------|-----------|
| 名称 | 类型 | 描述 |
| status | number | 响应状态码 |
| headers | Object | 响应头 |
| data | any | 服务端返回的响应体 |
三、项目实操(以axios网络请求为例)
检查访问网络权限(如果没有就需要添加以下代码在main目录下的module.json5文件中)
(1)在main目录下的module.json5文件中添加访问网络权限:
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
}
],
(2)在终端中下载axios
ohpm install @ohos/axios
(3)编写代码
import axios, { AxiosError, AxiosResponse } from '@ohos/axios'
@Entry
@Component
struct Index {
build(){
Column(){
Button('请求')
.onClick(()=>{
axios.get('http://localhost:8080/student/getList')
.then((res:AxiosResponse)=>{
console.log('',res.status)
console.log(JSON.stringify(res.data))
console.log(JSON.stringify(res.data.code))
console.log(JSON.stringify(res.data.msg))
console.log(JSON.stringify(res.data.data))
}).catch((error:AxiosError)=>{
console.log('获取失败')
})
})
}
}
}