-
客户端与服务器
服务器:存放和对外提供资源的高性能电脑。
客户端:负责获取和消费资源的电脑。 -
Url 地址
UniformResourceLocator(统一资源定位符),用于标识互联网上每个资源的唯一存放位置,浏览器只能通过url地址,正确定位资源的存放位置,从而成功访问到对应的资源。 -
Url地址的组成部分
- 通信协议:客户端与服务器之间的通信协议
- 服务器名称:存有该资源的服务器名称
- 资源路径:资源在服务器上具体的存放地址
-
客户端与服务器的通信过程
1.输入访问网站地址,向服务器发起资源请求
2.服务器接受客户端的资源请求,
3.处理请求,找到相关资源
4.找到资源,响应(发送)给客户端 -
网页中如何请求数据
- 请求-处理-响应 的方式获取服务器资源
- XMLHttpRequest对象:请求服务器上的数据资源
-
资源的请求方式
客户端请求服务器时,请求方式 get 和 post 请求
get 请求通常用于获取服务器资源(向服务器要资源)
post 请求通常用于向服务器提交数据(往服务器发送资源-数据提交操作) -
什么是ajax
Ajax的全称是 asyncchronous Javascript And XML (异步JavaScript和XML) 在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax -
什么是XMLHttpRequest的基本使用
请求服务器上的数据资源 -
使用xhr发起Get请求
创建 xhr 对象
调用 xhr.open() 函数 指定 请求方式 与 URL地址;
调用 xhr.send() 函数 发起请求
监听 xhr.onreadystatechange 事件 (监听 xhr 对象的请求状态 readyState;与服务器响应的状态 status
- 使用xhr发起post请求
1. 创建 xhr 对象
2. 调用 open()
3. 设置 Content-Type 属性(固定写法)
4. 调用 send(),同时将数据以查询字符串的形式,提交给服务器
5. 监听 onreadystatechange 事件
- xhr对象的readyState属性,用来表示当前ajax请求所处的状态
0 unsent xmlHttpRequest对象已被创建,但尚未调用open方法
1 opened open()方法已经被调用
2 headers_received send()方法已经被调用,响应头也已经被接收
3 loading 数据接受中,此时response属性中已经包含部分数据
4 done ajax请求完成,数据传输已经彻底完成或失败
- 认识XMLHttpRequest Level2的新特性
旧版XMLHttpRequest的缺点:
- 只支持文本数据的传输,无法用来读取和上传文件
- 传送和接收数据时,没有进度信息,只能提示有没有完成
XMLHttpRequest Level2的新特性:
1.可以设置HTTP请求的限制时间
xhr.timeout 设置期限
xhr.ontimeout 函数回调
2.可以使用formData对象管理表单数据
let formData = new FormData()
formData.append("key",value)
3.可以上传文件
文件files,向formData中追加文件files
4.可以获取数据传输的进度信息
onreadyStatechange 事件监听上传进度
通过监听 xhr.upload.onprogress 事件,来获取到文件的上传进度
-
URL编码与解码
url编码的原则:使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符,url编码原则的通俗理解:使用英文字符去表示非英文字符。 -
如何对URL 进行编码与解码
浏览器提供了URL编码与解码的api,分别是:
encodeURL() 编码的函数
decodeURL() 解码的函数
详情请看:https://blog.csdn.net/Lxd_0111/article/details/78028889 -
查询字符串
查询字符串(URL 参数)是指在 URL 的末尾加上用于向服务器发送信息的字符串(变量)。
将英文的 ? 放在URL 的末尾,然后再加上 参数=值 ,想加上多个参数的话,使用 & 符号进行分隔
get请求本质上,都是直接将参数以查询字符串的形式,追加到 URL 地址的后面,发送到服务器的。
-
数据交换格式
服务器端与客户端之间进行数据传输与交换的格式
两种数据格式交换 XML和JSON; -
什么是XML
XML的英文全称是 EXtensible Markup Language,即可扩展标记语言。xml和html类似也是一种标记语言 -
XML和HTML的区别
HTML被设计用来描述网页上的内容,是网页内容的载体
XML 被设计用来传输和存储数据,是数据的载体
缺点: xml格式臃肿,和数据无关的代码多,体积大,传输效率低
在JavaScript中解析XML比较麻烦 -
什么是JSON
JavaScript对象表示法,JSON的英文全称 JavaScript Object Notation。JSON是JavaScript对象和数组的字符串表示法,使用文本表示一个js对象或数组的信息。JSON的本质是字符串
轻量级的文本数据交换格式,专门存储和传输数据,JSON比XML更小,更快,更易解析
JSON已经成为了主流的数据交换格式。 -
JSON的两种结构
JSON 就是用字符串来表示 Javascript 的对象和数组。所以,JSON 中包含对象和数组两种结构,通过这两种结构的相互嵌套,可以表示各种复杂的数据结构。对象结构:对象结构在 JSON 中表示为 { } 括起来的内容。数据结构为 { key: value, key: value, … } 的键值对结构。其中,key 必须是使用英文的双引号包裹的字符串,value 的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型。
数组结构:数组结构在 JSON 中表示为 [ ] 括起来的内容。数据结构为 [ “java”, “javascript”, 30, true … ] 。数组中数据的类型可以是数字、字符串、布尔值、null、数组、对象6种类型。
JSON语法注意事项
1.属性名必须使用双引号包裹
2.字符串类型的值必须使用双引号包裹
3.JSON 中不允许使用单引号表示字符串
4.JSON 中不能写注释
5.JSON 的最外层必须是对象或数组格式
6.不能使用 undefined 或函数作为 JSON 的值
JSON 的作用:在计算机与网络之间存储和传输数据。
JSON 的本质:用字符串来表示 Javascript 对象数据或数组数据
- JSON和JS对象的关系、JSON和JS对象的互转、序列化与反序列化
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串
JSON反序列化: 要实现从 JSON 字符串转换为 JS 对象,使用 JSON.parse() 方法
JSON序列化:要实现从 JS 对象转换为 JSON 字符串,使用 JSON.stringify() 方法
-
数据接口(接口)
请求的URL的地址就叫做数据接口(接口)。同时必须要有请求方式。 -
接口测试工具 -postman
为了验证接口能否被正常被访问,我们常常需要使用接口测试工具,来对数据接口进行检测。
好处:接口测试工具能让我们在不写任何代码的情况下,对接口进行调用和测试。 -
接口文档
接口的说明文档,它是我们调用接口的依据。
好的接口文档包含了对接口URL,参数以及输出内容的说明,参照接口文档就能方便的知道接口的作用,以及接口如何进行调用。
接口名称,接口URL,调用方式,参数方式,响应格式