AJAX
2017-11-29 本文已影响0人
404er
1.AJAX概念
AJAX全称Asynchronous JavaScript and XML(异步的JavaScript与XML),是网页无需刷新页面、使用js与服务器进行交互的一种技术。
有时候会有这样一种需求:只希望更改页面上的一个区域。然而在从前的技术框架内只能刷新整个页面,带来的后果是:①需要重新传输整个页面,服务器端与客户端的流量消耗都会比较大;②如果是动态页,服务器端需要重新生成整个页面,即使是那些客户原本不想要刷新的区域,增大了服务器的负担。
2.JSON
- JSON全称JavaScript Object Notation(js对象标记法),JSON是基于JavaScript的,是JavaScript的一个子集。JSON是用JavaScript语法来表示数据的一种轻量级语言。
- 从AJAX的命名中我们就可以看到,数据交换是通过XML格式进行的。在AJAX刚出现的时候,绝大多数应用都是采用XML格式,也有少数使用纯文本的。但是XML格式有一个缺点,就是文档构造复杂,需要传输比较多的字节数。在这种情况下,JSON的轻便性逐渐得到重视,后来替代XML成为AJAX最主要的数据传输格式。
3.XMLHttpRequest
- ajax的基本流程可以概括为:页面上js脚本实例化一个XMLHttpRequest对象,设置好服务器端的url、必要的查询参数、回调函数之后,向服务器发出请求,服务器在处理请求之后将处理结果返回给页面,触发事先绑定的回调函数。这样,页面脚本如果想要改变一个区域的内容,只需要通过ajax向服务器获取与该区域有关的少量数据,在回调函数中将该区域的内容替换掉即可,不需要刷新整个页面。
- XMLHttpRequest在发送请求的时候,有两种方式:同步与异步。同步方式是请求发出后,一直到收到服务器返回的数据为止,浏览器进程被阻塞,页面上什么事也做不了。而异步方式则不会阻塞浏览器进程,在服务端返回数据并触发回调函数之前,用户依然可以在该页面上进行其他操作。ajax的核心是异步方式,而同步方式只有在极其特殊的情况下才会被用到。