鸿蒙 HarmonyOs 网络请求 快速入门

发布于:2024-07-08 ⋅ 阅读:(95) ⋅ 点赞:(0)

官方文档:

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('获取失败')
          })
        })
    }
  }
}


网站公告

今日签到

点亮在社区的每一天
去签到