Ajax学习笔记(一)
Ajax作为Web2.0的标志技术,不会这个确实是落伍了。。。
Ajax其实是实现网页异步交互的技术,我们知道http协议是一次连接之后就断开了,如果客户端,也就是浏览器想要得到服务器端的数据,就要给服务器发送一个请求,这中间网页就会停止,就要等待服务器发回数据,大大降低了客户体验。其实呢,Ajax说白了只是把这种请求放到了后台来执行。好吧,现在可以在请求数据的时候做别的事情了,有的像客户端程序。其实很久很久以后,就不会有WEB程序和客户端程序之分了(胡思乱想中)
好,还是看Ajax怎么样请求服务器的,创建xmlHttp对象这就是Ajax操作的对象
Ajax其实是实现网页异步交互的技术,我们知道http协议是一次连接之后就断开了,如果客户端,也就是浏览器想要得到服务器端的数据,就要给服务器发送一个请求,这中间网页就会停止,就要等待服务器发回数据,大大降低了客户体验。其实呢,Ajax说白了只是把这种请求放到了后台来执行。好吧,现在可以在请求数据的时候做别的事情了,有的像客户端程序。其实很久很久以后,就不会有WEB程序和客户端程序之分了(胡思乱想中)
好,还是看Ajax怎么样请求服务器的,创建xmlHttp对象这就是Ajax操作的对象
var xmlHttp = false; try{ xmlHttp= new ActiveXObject("Msxml.XMLHTTP"); }catch(e){ try{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e2){ xmlHttp = false; } }发送请求
xmlHttp.open("GET",url,true); xmlHttp.send(null);得到服务器返回的数据
if(xmlHttp.readyState == 4){ var response = xmlHttp.responseText; alert(response); }这里的4是表示有服务器响应,其他的几种状态是:
0 (未初始化) | 对象已建立,但是尚未初始化(尚未调用open方法) |
1 (初始化) | 对象已建立,尚未调用send方法 |
2 (发送数据) | send方法已调用,但是当前的状态及http头未知 |
3 (数据传送中) | 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误, |
4 (完成) | 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 |