// JavaScript Document //初始化AJAX var xmlHttp; function createXMLHttpRequest(){ //如果是IE,用activexobject if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); }else{ window.alert("不能创建XMLHttpRequest对象实例."); } } //用GET发送请求 function sendGetXMLHttpRequest(geturl,callback, parameter, obj){ createXMLHttpRequest(); xmlHttp.onreadystatechange = function (){handleStateChange(callback,parameter,obj)}; xmlHttp.open("GET",geturl,false); xmlHttp.send(null); } //用POST发送请求 function sendPostXMLHttpRequest(posturl,callback,parameter){ createXMLHttpRequest(); xmlHttp.onreadystatechange = function (){handleStateChange(callback)}; xmlHttp.open("POST",posturl,false); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); parameter = encodeURI(parameter); parameter = encodeURI(parameter); xmlHttp.send(parameter); } //获得请求 function handleStateChange(callback,parameter,obj){ if(xmlHttp.readyState == 4) { //200返回请求状态为OK if(xmlHttp.status == 200) { var fn = callXmlHttpRequest(callback, parameter,obj); fn(); }else{ alert(xmlHttp.statusText); } } } //反向调用方法 function callXmlHttpRequest(callback,parameter, obj){ return function(){ //这里返回一个有参数的Function callback(parameter, obj);//调用参数传入的函数 } }