httprequest.js
//构建XMLHttpRequest在各浏览器的对象
//sUrl相同时,ajax会访问浏览器缓存, 可通过加上一个时间戳参数timestamp=new Date().getTime();可以避免访问浏览器缓存
function HttpRequest(sUrl,fCallback,method,async){
this.request=this.createXmlHttpRequest();
var requestMethod=(method.toLowerCase()=="post"?"POST":"GET");
var requestAsync=(async==false?false:true);
this.request.open(requestMethod,sUrl,requestAsync);
var tmpRequest=this.request;//解决作用域问题
function request_readyStateChange(){
if(tmpRequest.readyState==4){
if(tmpRequest.status==200){
fCallback(tmpRequest.responseText);
}else{
alert('Request Error!');
}
}
}
this.request.onreadystatechange=request_readyStateChange;
}
HttpRequest.prototype.createXmlHttpRequest=function(){
if(window.XMLHttpRequest){
var oHttp=new XMLHttpRequest();
return oHttp;
}else if(window.ActiveXObject){
var oHttp=new ActiveXObject("Microsoft.XMLHTTP");//ie
return oHttp;
}else{
return null;
}
}
HttpRequest.prototype.send=function(){
this.request.send(null);
}
var request=new HttpRequest(url,callBackFunction,"post",true);
request.send();