AJax---------->按需发送,通过XMLHttpRequest对象向服务器提交需要提交的东西
IE5,6不支持XMLHttpRequest对象,用ActiveX来向服务器提交。
在实际应用中,需要判断浏览器是否支持该对象,方法如下:
var xmlhttp; if(window.XMLHttpRequest){//判断浏览器是否有XMLHttpRequest对象 xmlhttp = new XMLHttpRequest(); } else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
ajax向服务器发送请求:
var xmlhttp = new XMLHttpRequest(); xmlhttp.open("method","url",async);//method:请求方式:GET/POST url:请求信息在服务器中的路径 async:同步或异步请求(true:异步,false:同步) xmlhttp.send();
ajax接收服务器发送回来的信息(字符串形式,xml形式)
$("#div").text(xmlhttp.responseText);//字符串形式 $("#div").text(xmlhttp.responseXML);//xml形式
ajax中的onreadystatechange事件:该事件绑定readyState属性,当readyState值发生改变的时候,会触发onreadystatechange事件
readyState属性存储了XMLHttpRequest的下面这几个状态:0---------》请求未初始化
1---------》服务器连接已建立
2----------》已接收请求
3----------》请求正在处理中
4-----------》请求处理完成,响应已就绪
status:OK------》200
未找到页面-------》404
当服务器响应就绪,说明我们可以将服务器请求的信息展示在页面,有如下操作:
xmlhttp.readystatechange=function(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) { $("#div").text(xmlhttp.responseText); } }