Ajax 实现原理 Ajax 的工作 Ajax 直觉认识:我们发送一个请求,但是这个请求比较特殊它是异步的,也就是说客户端是不会感觉到的
在发送这个请求的时候我们绑定了一个事件,这个事件会监控我们发送请求的状态,并且每次状态改变都会触发,所以我们就可以根据不同的状态让他执行不同的操作
请求到达服务器端的后服务器端根据相应的请求返回对应的信息,这个返回信息我们可以取得并且是异步得到,不会引起客户端刷新
既然在上面已经绑定了监控状态变化的事件,我们就可以在那里首先做好在得到返回信息要做的处理(当然如果失败也会有相应的状态我们也会做出相应的处理),我们在处理中得到返回信息通过 javascript 在客户端做相应操作即可
Ajax 核心—XMLHttpRequest 上面我们大概感受了一下 Ajax 的过程,我们发现发送异步请求才是核心,事实上它就是XMLHttpRequest,整个 Ajax 之所以能完成异步请求完全是因为这个对应可以发送异步请求的缘故
而且我们又发现上面那个事件就是整个处理过程的核心,可以根据不同状态执行不同操作,其实它就是 XMLHttpRequest 的方法onreadystatechange,它在每次状态发生改变时都会触发
那么是谁取得的返回信息呢
它就是 XMLHttpRequest 的另一个方法responseText(当然还有 responseXML)
(⊙o⊙)哦,我们还没有说发送给谁以及执行发送操作,这两个就是 XMLHttpRequest 的 open 和 send 方法
Y(^o^)Y,其他的当然还有了,我们直接列出来吧: XMLHttpRequest 对象 属性 readyState 请求状态,开始请求时值为0 直到请求完成这个值增长到 4 responseText 目前为止接收到的响应体,readyState