Ajax
1.什么是Ajax?
- Ajax(Asychronous javascript and xml),中文翻译则为异步的javascript(浏览器端脚本语言) and xml(传输和保存数据的语言);
- 是一种用来改善用户体验的技术.
- 其本质是利用浏览器内置的一种特殊的对象(XMLHttpRequest)异步(即发送请求时,浏览器不会销毁当前页面,不重新加载网页的情况下,用户可以继续在当前页面进行其他的操作)的向服务器发送请求,并且利用服务器返回的数据(一般是使用文本或者xml返回)来部分更新当前页面;
- 传统的网页(不使用AJAX),如果需要更新内容,必须重载整个网页面,使用ajax技术之后,网页无刷新,并且不打断用户;
1.1什么是Xml语言?
xml(extensionable markup language),可拓展标记语言,其中可拓展(指的是标签可以自定义)
- html和xml之间有什么区别?
- html,用来在浏览器端显示数据,标签是内置的,不能自定义;
- xml,用来保存数据和传输数据,标签只能自定义
1.2关于异步和同步
- 同步请求:顺序处理,即当我们向服务器发出一个请求时,在服务器没返回结果给客户端之前,我们要一直处于等待状态直至服务器将结果返回到客户端,我们才能执行下一步操作。例如普通的B/S模式就是同步请求(注:B/S模式
也即服务器与浏览器通信主要采用HTTP协议;通信方式为“请求——响应”,浏览器发出请求;服务器做出响应。) - 异步请求:异步请求:并行处理,当我们向服务器发出一个请求时,在服务器没返回结果之前,我们还是可以执行其他操作(好处:不用排队等待)。例如AJAX技术就是异步请求。
如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作。
一句话概括:
- 同步:一个时间点只能执行一个线程
- 异步:一个时间点可以执行多个线程
2.创建ajax对象
- 1.主流浏览器,大多数浏览器是通过new XMLHttpRequest()获得。
- 2.IE6使用:new ActiveXObject(“Msxml2.XMLHTTP”)创建。
- 3.IE5.5使用:new ActiveXObject(“Microsoft.XMLHTTP”)。
3.建立对服务器的连接
- 1.创建一个请求
默认就是一个异步请求 - 2.对服务器发送一个请求
4.服务器返回的信息
4.1 onreadystatechange事件
onreadystatechange:服务器做出的响应事件。
4.2 请求响应状态
响应属性
readyState:服务器响应的结果状态
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
5. JSON数据格式
JSON 是用于存储和传输数据的格式。
JSON 通常用于服务端向网页传递数据 。
5.1Json的语法规则
- 数据为 键/值 对,键和值之间用冒号:隔开。
- 数据由逗号分隔。
- 大括号保存对象
- 方括号保存数组
5.2php生成Json格式
.json_encode():将变量(数组)转化(编码)为json格式
数组下标不是从0开始,输出的结果就是json格式- json_decode():将json转化为数组或者是对象
1.json格式的键名只能用双引号。
2.json格式的键名必须要加双引号。
3.json格式最后面不要加逗号。