鸿蒙 HarmonyOs 网络请求 快速入门

官方文档:

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('获取失败')
          })
        })
    }
  }
}
相关推荐
Sirius_Ji12 小时前
# 一份鸿蒙原生支持硬解的 ffmpeg 开发基座
harmonyos
贾伟康13 小时前
HarmonyOS API 26 Navigation路由栈上限:stackSizeLimit、过载保护与容量观测
harmonyos·arkts·navigation·navpathstack·api26
江华森18 小时前
把鸿蒙云手机调试的 5 个坑写成 Skill:12 项检查清单与报错决策树
harmonyos
木木子2219 小时前
用华为云码道构建校园导航应用「新生通」:从需求分析到工程落地
华为·华为云·harmonyos
贾伟康20 小时前
HarmonyOS API 26 Navigation 自适应模式:mode、分栏切换与窗口断点治理
harmonyos·arkts·arkui·navigation·自适应布局
贾伟康21 小时前
【转盘决定吧|07】HarmonyOS ArkTS 6.0.2.130 趣味题库:场景分类、随机选择与详情页解耦
harmonyos·arkts·路由·数据建模·arkui
贾伟康21 小时前
【电路实验模拟|03】HarmonyOS ArkTS 交通灯实战:用定时状态切换红黄绿灯
harmonyos·arkts·canvas·arkui·交通灯
贾伟康2 天前
HarmonyOS API 26 嵌套 Navigation:getParent、父子栈边界与返回分发
harmonyos·arkts·navigation·嵌套路由·navpathstack
行者-全栈开发2 天前
【鸿蒙心迹】多线程并发实战——TaskPool 与 Worker 选型与踩坑(HarmonyOS 7.x)
华为·harmonyos·多线程并发·worker·taskpool·线程通信·harmonyos 并发
OH_TPC2 天前
@ohos/aki 源码解读(一):一行绑定背后,宏、模板与索引分发
harmonyos