Ajax

208 阅读2分钟

XMLHttpRequest:是浏览器内置的一个构造函数,发送Ajax请求的核心对象

作用:基于 new 出来的 XMLHttpRequest 实例对象,可以发起 Ajax 的请求。

axios 中的 get()axios.、方法,都是 (简称:)封装出来的.

XMLHttpRequest 发起 GET 请求:

①创建 xhr 对象

②调用 xhr.open() 函数

③调用 xhr.send() 函数

④监听 load 事件x

JSON(全称:JavaScript Object Notation)是一种数据交换格式,它本质上是用字符串的方式来表示对象或数组类型的数据

用字符串的方式来表示的对象或数组类型的数据,叫做 JSON 数据

JSON 数据的格式有两种:

①对象格式

②数组格式

1.对象格式的 JSON 数据,最外层使用 { } 进行包裹,内部的数据为 "key": "value" 的键值对结构。其中:
①key 必须使用英文的双引号进行包裹
②value 的值只能是字符串、数字、布尔值、null、数组、对象类型(可选类型只有这 6 种)
2.数组格式的 JSON 数据,最外层使用 [ ] 进行包裹,内部的每一项数据之间使用英文的 , 分隔。其中:
每一项的值类型只能是字符串、数字、布尔值、null、数组、对象这 6 种类型之一。

JSON的语法要求:

①属性名必须使用双引号包裹

②字符串类型的值必须使用双引号包裹

③JSON 中不允许使用单引号表示字符串

④JSON 中不能写注释

⑤JSON 的最外层必须是对象或数组格式(其他类型也可以,但多数是对象或数组格式)

⑥不能使用 undefined 或函数作为 JSON 的值

JSON 数据转换为 JS 数据:调用浏览器内置的 JSON.parse() 函数,可以把 JSON 格式的字符串转换为 JS 数据
JS数据转换为 JSON 数据:调用浏览器内置的 JSON.stringify() 函数,可以把 JS 数据转换为 JSON 格式的字符串

序列化和反序列化:

①把真实数据转换为字符串的过程,叫做序列化

②把字符串转换为真实数据的过程,叫做反序列化

XMLHttpRequest 请求到的 JSON 数据反序列化为 JS 对象

​ 在 xhr 对象的 load 事件中,通过 xhr.response 访问到的是 JSON 格式的字符串数据。可以调用 JSON.parse() 函数将 xhr.response 转化为 JS 对象

同源策略&跨域:

1.同源指的是两个 URL 地址具有相同的协议、主机名、端口号 ,反之跨域.

2.同源策略(英文全称 Same origin policy)是浏览器提供的一个安全功能。浏览器的规定:不允许URL 资源的交互

JSONP 在底层,用到了 script 标签的 src 属性!