ajax工作原理
Ajax(asynchronous JavaScript and xmlhttprequest)就是异步的JavaScript和XMLHttprequest.
Ajax是一种用于创建快速动态网页的技术,无需加载整个网页,只更新部分网页。
那么,什么是XMLHttpRequest呢?
中文可以解释为扩展超文本传输请求。XMLHttpRequest对象用于在后台与服务器交换数据。
它的属性有
onreadyStatechange:每次状态改变所触发事件的事件处理程序
responseText:从服务器进程返回的字符串形式
responseXml:从服务器进程返回的DOM兼容的文档数据对象
status:从服务器返回的数字代码。(200,404。。。)
status Text:伴随状态码的字符串信息
readyState:对象状态值
XMLHttpRequest的状态:
0 已创建对象,但未初始化(没有open)
1 已初始化(open),但未调用send方法
2 已调用send()
,但目前状态和http头未知
3 已接收部分数据,但响应及http头不全
4 数据接收完成,此时可以通过responseText和responseXml获取完整回应
使用AJAX:根据浏览器的不同创建xmlhttprequest对象,调用open方法,用send发送请求给ajax引擎,最后执行完毕后将结果返回给客户端。
function getData(){ //创建ajax引擎对象 var ajax; if(window.XMLHttpRequest){ ajax=new XMLHttpRequest(); }else if(window.ActiveXObject){ ajax=new ActiveXObject(msl12.XMLHTTP) } //复写onreadystatechange函数 ajax.onreadystatechange=function(){ //判断ajax状态码 if(ajax.readystate==4){ //判断响应状态 if(ajax.status==200){ //获取响应 var result=ajax.responseText; //获取元素对象 var show =document.getElementById("show"); show.innerHTML=result; }else if(ajax.status==404){ var show =document.getElementById("show"); show.innerHTML="请求资源不存在"; }else if(ajax.status==500){ var show =document.getElementById("show"); show.innerHTML="服务器错误"; } } } //发送请求 ajax.open("get","",true);//open("get/post","请求地址","(async:)true/false") ajax.send(null);//请求的东西拼在get后面 }

浙公网安备 33010602011771号