文章目录
- 一、Ajax是什么?
- 二、Ajax的使用
一、Ajax是什么?
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
AJAX为向服务器发送请求和解析服务器响应提供了流畅的接口。以异步方式从服务器取得信息,在不重新加载网页的前提下更新网页内容。
二、Ajax的使用(以向本地json文件发送请求为例)
1.创建ajax对象:XMLHttpRequest对象
代码如下(示例):
let xhr = new XMLHttpRequest()
2.初始化请求
代码如下(示例):
xhr.open( 请求方式,URL)
// 通过open()方法初始化请求,方法的参数分别为:请求方式和请求地址。
// open方法的请求方法包括:GET和POST
3.发送请求并监听请求状态判断请求是否成功
代码如下(示例):
xhr.send() // 发送请求
xhr.onreadystatechange = function(){
// 读取状态值必须是4,
if(xhr.readyState===4){
// 状态码必须是200
if(xhr.status===200){
let arr = JSON.parse(xhr.responseText)
}
}
}
发送请求后,通过onreadystatechange事件,监听请求数据的状态,读取状态(xhr.readyState)为4(通常为4)表示读取成功,状态码(xhr.status)为200,表示读取完成,将获取的数据保存在xhr.responseText中,通过JSON.parse()方法可以将JSON格式的数据转化为js对象,方便数据的处理。
4. onreadystatechange事件
在ajax请求中onreadystatechange事件用于监听请求数据的读取状态,当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState 属性存有 XMLHttpRequest 的状态信息。
readyState有5种状态:
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
status的状态有:200: "OK";404: 未找到页面; 500:表示服务器发生错误