1、ajax是什么?
AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
ajax不是新的编程语言,而是一种使用现有标准的新方法。ajax是
在不重新加载整个页面的情况下,
与服务器交换数据并更新部分网页的艺术。
2、ajax主要解决了什么问题?
1、最大的一点是在不重新加载整个界面的情况下,更新部分页面信息,用户的体验非常好。
2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
3、减轻服务器的负担。ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
3、ajax的工作原理&使用方法
ajax内部只要依靠xmlHttpResponse。几乎所有的浏览器都支持
xmlHttpResponse,对于不支持
xmlHttpResponse的浏览器,与之替换的
ActiveXObject
实现了同样的功能。
A、创建对象:
var xmlhttp ;if(window.XMLHttpRequest){xmlhttp =new XMLHttpRequest();}else{xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");}
B、发送请求:
get:xmlhttp.open("GET","demo_get.asp",true); #布尔值表示是否异步,强烈建议填true.xmlhttp.send();post:xmlhttp.open("POST","ajax_test.asp",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("fname=Bill&lname=Gates");
C、处理响应:
如果来自服务器的响应并非 XML,请使用 var string=xmlhttp.responseText获取。
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 var XMLDoc=xmlhttp.responseXML;xmlDoc.getElementsByTagName("ARTIST");
当请求被发送到服务器时,我们需要执行一些基于响应的任务。它主要通过以下属性来判断请求的状态:
onreadystatechange:状态监听函数。每当与服务器的交互状态发生改变时,就会调用 onreadystatechange 函数。readyState:请求状态,从 0 到 4 发生变化。
0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成,且响应已就绪
status:http请求结果码
2XX: "OK"4XX: 客户端错误5XX:服务器错误
eg:
xmlReq.onreadystatechange=function(){if (xmlReq.readyState==4 &&xmlReq.status==200){alert(xmlReq.responseText);document.getElementById("new_string").innerHTML=xmlReq.responseText;}}