Ajax Modules 个人整理

来源:互联网 发布:中国气象数据共享网 编辑:程序博客网 时间:2024/05/24 04:17

AjaxBaseUtil.js


 


var xmlHttp;
var requestType;
//Create XMLHttpRequest...
function createHttpRequest()
{
 //alert("create http request");
 if(window.ActiveObject)
 {
  xmlhttp=new ActiveObject("MicroSoft.XMLHTTP");
 }else if(window.XMLHttpRequest)
 {
  xmlhttp=new XMLHttpRequest(); 
 }
 try
 {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }catch(ex)
 {
  alert("Error Create HttpRequest");
 } 
}


function doRequestByGet(url,handlefunction)
{
 alert("Clike Get");
 createHttpRequest();
 xmlhttp.onreadystatechange=handlefunction;
 xmlhttp.open("GET",url,true);
 xmlhttp.send(null);
}
 
function doRequestByPost(url,queryString,handlefunction)
{
 alert("Clike Post");
 createHttpRequest();    
 xmlhttp.onreadystatechange=handlefunction;
 xmlhttp.open("POST",url,true);
 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
 xmlhttp.send(queryString);   
}


//default handles when callback.



//create div in page,than use it show message in divId
function parseResult(divId)
{
 var div=document.getElementById(divId);
 if(div.hasChildNodes())
 {
  div.removeChild(div.childNodes[0]);    
 }
 var responsetxt=document.createTextNode(xmlhttp.responseText);
 div.appendChild(responsetxt);
}


 


//define yourself



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Useful Modules
//Module 1.Do Head Request.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/**************************************************************************
 * Used By Call Head Request Module
 * Start
 */
//**Mark Sign
function doHeadRequest(request,url,handle)
{
 alert("start head");
 requestType=request;
 createHttpRequest();
 xmlhttp.onreadystatechange=handle;
 xmlhttp.open("HEAD",url,true);
 xmlhttp.send(null);
 
}
function defaultHeadStateHandleFunction()
{
 if(xmlhttp.readystate==4)
 {
  if(requestType=="allResponseHeaders")
  {
   getAllResponseHeader();
  }else if(requestType=="lastModified")
  {
   getLastModified();
  }else if(requestType=="isResourceAvailable")
  {
   getIsResourceAvailable();
  }
  
 } 
}


function defaultHandleFunction()
{
 if(xmlhttp.readystate==4)
 if(xmlhttp.status ==200)
 {
   doResponsed(); //Need Define yourselef.
 } 
}



function getAllResponseHeader(){
 alert(xmlhttp.getAllResponseHeaders()); 
}


function getLastModified(){
 alert("Last Modified:"+xmlhttp.getResponseHeader("Last-Modified")); 
}
function getIsResourceAvailable()
{
 if(xmlhttp.status==200)
 {
  alert("Successful response");
 }else
  if(xmlhttp.status==404)
 {
  alert("Resource is Unavailable");
 }else  
 {
  alert("UnExpected Response status:"+xmlhttp.status);
 }
}
/**EndOf Call Head Request Module   ****************************************/


注:1调用方式
     2.随着不断的更新,可以自行mark掉不需要的modules.

原创粉丝点击