HTTP的王炸基础

213 阅读2分钟

HTTP数据请求

一、什么是HTTP数据请求?

应用软件通过系统内置的http模块,通过HTTP协议和服务器进行通讯

image.png

服 务 器:在网络上提供服务器的一台电脑,比如提供数据服务

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联合使用
  1. 页面加载后要执行一段逻辑使用aboutToAppear
  2. 定义一个函数专门用来获取服务器上的数据
  3. 导入http模块(使用的时候编辑器会自动导入) 在本文件的第一行import { http } from '@kit.NetworkKit'
  4. 创建请求对象
  5. 发送请求获取服务器数据
  6. res里面有一个result属性,这个是我们需要的,由于服务器返回的是一个JSON字符串,所以res是一个JSON字符串

注意:res在http模块内部有一个转换过程,用了一个interface去接收了它身上的result将来 只要使用http模块请求服务器数据,固定的接受格式就是 res.result 最后只需要我们将 res.result这个字符串使用JSON.parse转成我们需要的对象或者数组即可