Harmony OS5开发学习笔记-使用 axios 进行网络请求

axios (第三方封装请求模块) 特点:

  1. 自动 JSON 解析: 无需手动调用 JSON.parse() 处理响应数据。
  2. 中文参数自动编码: 使用 params 传递查询参数时,axios 会自动处理中文字符的 URL 编码(encodeURIComponent)。
  3. 智能请求头处理: 常见请求头(如 Content-Type)会根据请求方法和数据类型自动设置。
  4. 泛型定义相对繁琐: 为了获得良好的类型推断,泛型参数的编写需要一定工作量。

下载安装

  1. OpenHarmony三方库中心仓找到包名=>编译器终端对话框输入 ohpm install 包名
  2. 安装完成, Sync Now 按钮同步项目
  3. 记录查询: 项目的 oh-package.json5 文件中; 安装成功后,oh_modules 目录下会出现 @ohos/axios

使用axios

  • 基础运用
//调用axios模块
import axios, { AxiosResponse } from '@ohos/axios';

axios({
  url:'https://xxx.xxx.net/api/area',//'资源统一定位符',
  //需要传递给后端的中文参数不再需要encodeURIComponent编码
  //query请求体查询参数
  params:{pname:'江苏省',cname:'南京市'}  
})
.then((res:AxiosResponse<T>)=>{
  //res.data.xx//res.data是axios返回数据的字段
    AlertDialog.show({message:res.data.后端返回提示})
})
  • 进阶使用 (POST 示例 with Async/Await & Error)
import axios, { AxiosResponse } from '@ohos/axios';

interface SubmitDataType {username: string,password: string}
asnyc function fn(){
  //考虑请求成功和失败的情况的存在
  try{
    //axios<null,AxiosResponse<后端响应数据类型,null>,请求体参数body类型>三个泛型参数
  const res =await axios<null,AxiosResponse<T,null>,SubmitDataType>({
    url:'https://xxx.xxx.net/api/area',//'资源统一定位符',
    method:'post',
    //header:{ContentType:'application/json'},用axios不需要加请求头,会自动识别并加入
    //extraData:{}请求体body参数改成data:{}
    data:{
      username:'zhangsan',
      password:123456789
    }    
  })
  //测试
  AlertDialog.show({message:res.data.后端返回提示})
  }
  catch(err){
      AlertDialog.show({message:JSON.stringify(err)})
  }
}
fn()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值