Ajax Modules 个人整理
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.