arkts AxiosResponse
时间: 2025-05-15 08:38:03 浏览: 26
### 关于 ArkTS 中 AxiosResponse 的使用说明
#### AxiosResponse 结构解析
`AxiosResponse` 是 HTTP 响应对象,在 `@ohos/axis` 库中用于封装来自服务器的响应数据。该结构包含多个重要属性:
- **status**: 表示HTTP响应的状态码,类型为 number[^1]。
- **headers**: 包含响应头部信息的对象,类型为 Object[^1]。
- **data**: 来自服务器的实际响应主体内容,类型取决于具体应用场景,可能是字符串、JSON 对象或其他形式的数据。
这些属性使得开发者能够方便地获取并处理API调用的结果。
#### 实际案例展示
下面通过具体的代码片段来演示如何利用 `AxiosResponse` 进行 GET 请求以及 POST 登录请求的操作方式。
##### 发起GET请求并处理响应
```typescript
// 导入必要的包
import axios from '@ohos/axis';
async function fetchJokes() {
try {
// 执行网络请求
const res: AxiosResponse<MsdData> = await axios({
url: 'https://api-vue-base.itheima.net/api/joke/list',
method: 'get',
params: { num: 5 }
});
console.log('Received jokes:', res.data);
} catch (error) {
console.error(error.message);
}
}
```
此段代码展示了发起一次获取笑话列表的 GET 请求过程,并将接收到的数据赋值给变量 `res` ,其中包含了完整的 `AxiosResponse` 实例[^3]。
##### 创建POST登录接口服务
对于需要发送表单参数的情况,则可以通过如下方法构建一个基于特定基础 URL 和超时设置的服务实例来进行身份验证操作:
```typescript
// 定义axios配置项和服务实例
export const service = axios.create({
baseURL: "http://192.168.2.63:3000",
timeout: 3000,
});
// 使用service执行post请求
async function login(username:string,password:string){
try{
let result=await service.post('/login',{
username:username,
password:password
});
console.log(result.status); // 输出状态码
console.log(result.headers); // 输出header信息
console.log(result.data); // 输出返回的具体数据
}catch(err){
console.error(`Error occurred during login:${err}`);
}
}
```
上述例子中定义了一个名为 `service` 的 Axios 实例,它被用来简化后续所有的 API 调用逻辑;而函数 `login()` 则实现了向指定路径 `/login` 提交用户名密码的过程,并打印出相应的响应详情[^4]。
阅读全文
相关推荐

















