记录重点的内容
1、如何使用ajax
若要使用ajax,首先得创建一个XMLHttpRequest对象,它实现了在后台从客户端发送数据、从服务器接受数据以及更新网页的功能。
if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 代码
xmlhttp = new XMLHttpRequest();
} else { // IE6, IE5 代码
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
创建完成后,还需要通过这个对象向服务器发送请求。
_xhr.open('GET', url, true); //连接服务器(打开和服务器的连接)
_xhr.send(); //发送
发出请求后,需要等待服务端进行响应并获得来自服务器的响应数据。当readyState = 4且 status = 200时,说明响应已经就绪,此时可以处理我们想要实现的函数了。
_xhr.onreadystatechange = function ()
{
if (_xhr.readyState == 4 && _xhr.status == 200)
{
//此处写我们需要实现的代码
}
}
2、ajax的工作原理
AJAX的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。
- ①用户在网页上调用js函数
- ②XMLHttpRequest对象向服务器发送HTTP请求
- ③服务器通过业务逻辑工具(例如PHP、servlet等等)与数据库进行数据交换
- ④数据库将检索完成的数据返还给服务端
- ⑤服务端将XML数据(或JSON)返还给XMLHttpRequest回调函数
- ⑥通过回调函数的处理将HTML和CSS显示在网页上
3、状态码对应的状态
HTTP状态码
分类 | 分类描述 |
---|---|
1** | 信息,服务器已经接收到请求,但需要请求者进行操作 |
2** | 成功,操作被服务器接收并成功处理 |
3** | 重定向,需要请求者进行操作才能完成请求 |
4** | 客户端错误,请求包含错误或者无法完成请求操作 |
5** | 服务端错误,服务器在处理请求的过程中发生了错误 |
readyState状态码
数字 | 状态说明 |
---|---|
0 | 请求仍未初始化,未调用open() |
1 | 请求已经建立,但没有发送,未调用send() |
2 | 请求已经发送,正在处理中,通常可以在响应中获取内容头 |
3 | 请求在处理中,通常响应中能使用部分数据,但没有全部完成 |
4 | 响应已经完成,可以获取并使用服务器的响应 |