HTTP数据请求
一、什么是HTTP数据请求?
应用软件通过系统内置的http模块,通过HTTP协议和服务器进行通讯
服 务 器:在网络上提供服务器的一台电脑,比如提供数据服务
http模块:内置的一个模块,通过【HTTP协议】和【服务器】进行通信
HTTP协议:规定客户端和服务器返回内容‘格式’,通讯时按照格式发送内容,才可以进行通讯
模拟器和真机需要配置网络权限才能成功发送请求
http模块基本用法
// 1. 导入
//import http from '@ohos.net.http'
import { http } from '@kit.NetworkKit'
// 2. 创建请求对象
const req = http.createHttp()
// 3. 根据提供好的 地址发送请求,并在 then 中获取服务器响应的内容
req.request('请求地址url')
.then((res: http.HttpResponse) => {
AlertDialog.show({ message: JSON.stringify(res) })
})
二、认识URL
URL统一资源定位符(网址),每一个有效的URL都指向一个唯一的资源 URL组成:协议、域名、资源路径(查询参数)
什么是URL的查询参数?
携带给服务器额外信息,让服务器返回我想要的某一部分数据而不是全部数据,这些参数是用 & 符号分隔的键/值对列表。
三、JSON
什么是JSON、JSON作用有什么。
JSON是一种按照 JavaScript 对象语法的数据格式,虽然它是基于 JavaScript 语法,但它独立于 JavaScript,许多【程序环境】能够读取(解读)和生成 JSON,JSON是一个字符串,常用于存储和传递数据,开发中常见于两个地方(传递数据和配置文件)
JSON字符串之间的转换
JSON.stringify(对象)// 转为 JSON JSON.parse(JSON) // 转为 对象,需要设置类型(通过变量类型或 as)
*如何将http和JSON联合使用
- 页面加载后要执行一段逻辑使用aboutToAppear
- 定义一个函数专门用来获取服务器上的数据
- 导入http模块(使用的时候编辑器会自动导入) 在本文件的第一行import { http } from '@kit.NetworkKit'
- 创建请求对象
- 发送请求获取服务器数据
- res里面有一个result属性,这个是我们需要的,由于服务器返回的是一个JSON字符串,所以res是一个JSON字符串
注意:res在http模块内部有一个转换过程,用了一个interface去接收了它身上的result将来 只要使用http模块请求服务器数据,固定的接受格式就是 res.result 最后只需要我们将 res.result这个字符串使用JSON.parse转成我们需要的对象或者数组即可