什么是ajax
AJAX(Asynchronous Javascript And XML) = 异步 JavaScript + XML 在后台与服务器进行异步数据交换
,不用重载整个网页,实现局部刷新。
ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。交互模型为,ajax在浏览器端引入一个执行引擎,它一边接收user请求,一边传送数据给服务器,并把服务器端返回的结果展现给user。
简单说,通过 XMLHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用js来操作DOM而更新页面。关键是从服务器获取数据
同步:脚本会停留并等待服务器发送回复然后继续
异步:脚本不停留并处理可能的回复
优点
- 不用重载整个网页,实现局部刷新
缺点
- 不支持浏览器的back按钮
- 安全问题,ajax暴露了与服务器交互的细节
- 对搜索引擎的支持比较弱
- 不容易调试
创建ajax的步骤
- 创建一个XMLHttpRequest对象
- 创建一个新的HTTP请求,并指定该HTTP请求类型、验证信息
- 设置请求头信息
setRequestHeader
- 设置响应 HTTP 请求状态变化的回调函数
- 发送 HTTP 请求
- 获取异步调用返回的数据
- 使用 JavaScript 和 DOM 实现局部刷新
1 | var xhr = new XMLHttpRequest(); |
常见的http状态码以及代表的意义
200(OK):请求成功
301:永久重定向
303(See Other):告知客户端使用另一个URL来获取资源
400(Bad Request):请求格式错误
1. 语义有误(客户端请求有语法错误),当前请求无法被服务器理解,除非修改,否则客户端不应该重复提交这个请求
2. 请求参数有误
404(Not Found):请求失败,请求所希望得到的资源未被在服务器上发现
500(Internal Server Error):服务器遇到一个未曾预料的状况,导致它无法完成对请求的处理