Ajax:异步加载网页技术
Ajax用一句话来说就是无须刷新页面即可从服务器取得数据(局部刷新)。注意,虽然Ajax翻译过来叫异步JavaScript与XML,但是获得的数据不一定是XML数据,现在服务器端返回的都是JSON格式的文件。
一、Ajax请求过程
完整的Ajax请求过程:
(1)创建XHR实例 ( XMLHttpRequest 或 ActiveXObject )
(2)发出HTTP请求(send()、open())
(3)接收服务器传回的数据
(4)更新网页数据
注:异步Ajax请求中(3)要放(2)前,且需要用存储函数onreadystatechange,每当 readyState 属性改变时就会调用该函数,相当于一直监听服务器传回的数据 ;而同步的Ajax请求中(2)要放(3)前,因为是阻塞的,所以不用实时监听。
XHR是ajax的基础。
XHR:浏览器的API,它负责后台和服务器之间交换数据,允许了一次加载部分内容。如果浏览器不通过XHR直接向服务器提出请求,那么所有内容就会一次加载所有内容。
href:hypertext reference
异步加载网页的爬取
参考:使用爬虫抓取网站异步加载数据
Ajax请求和普通http请求的区别:
前者的network.XRH中,请求字头中有一个属性是X requested with,如下图,而后者没有:http:hypert text transfer protocal超文本传输协议。