1、 if (window.XMLHttpRequest) { oAjax=new XMLHttpRequest(); }else{ oAjax=new ActiveXObject("Microsoft.XMLHTTP"); }
如果参数未定义会出错,如果属性未定义则为underfind;所以XMLHttpRequest前要加window。其中new ActiveXObject("Microsoft.XMLHTTP")为IE浏览器获取对象特有,其他浏览器则是new XMLHttpRequest()。
2、oAjax.open("GET",url,true);服务器通信方式有两种,一种是get方式,另一种是post方式,get方式把数据放在url中,post则不是。服务器为异步通信,所以用true。
3、当ajax与服务器通信时调用onreadystatechange函数。
4、readyState属性表示请求状态,有5种状态,分别为:
(1)0(未初始化)还没有调用open方法。
(2)1(载入)已调用send方法,正在发送请求。
(3)2(载入完成)send()方法完成,已收到全部相应内容。
(4)3(解析)正在解析相应内容。
(5)4(完成)相应内容解析完成,可在客户端调用。
5、status属性:表示请求结果,其中成功为200,未找到为404。
6、responseText属性:表示返回结果,从服务器返回内容。
7、调用ajax函数如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自创ajax</title> <script src="new_ajax.js"></script> <script> window.onload=function(){ var oBtn=document.getElementById("btn"); oBtn.onclick=function(){ ajax("page1.txt",function(str){ alert(str); }); } } </script> </head> <body> <input type="button" value="点击从服务器获取文件" id="btn"> </body> </html>