您的位置:首页 > Web前端 > JavaScript

Javascript: Ajax示例代码

2009-12-31 18:05 495 查看
以前写的一段Ajax代码:

//GXml的静态方法value,返回指定XML节点的值
function value(a)
{
if(!a)
{
return""
}
var b="";
if(a.nodeType==3||a.nodeType==4||a.nodeType==2)
{
b+=a.nodeValue
}
else if(a.nodeType==1||a.nodeType==9||a.nodeType==11)
{
for(var c=0;c<a.childNodes.length;++c)
{
b+=arguments.callee(a.childNodes[c])
}
}
return b
}
//GXmlHttp的静态函数create,返回一个xmlhttp对象
function create()
{
try
{
if(typeof ActiveXObject!="undefined")
{
return new ActiveXObject("Microsoft.XMLHTTP")
}
else if(window.XMLHttpRequest)
{
return new XMLHttpRequest()
}
}
catch(a)
{
}
return null
}
//下载指定的xml文档
function GDownloadUrl(url,onloaded,onloading,onerror,usePost,contentType)
{
var xmlhttp=create();//获取一个xmlhttp对象
if(!xmlhttp)return false;
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
onloaded(xmlhttp.responseText,xmlhttp.status);
xmlhttp.onreadystatechange=nullFunction
}
else if(xmlhttp.readyState==1 || xmlhttp.readyState==2 || xmlhttp.readyState==3)
{
onloading();
}
};
if(usePost)
{
xmlhttp.open("POST",url,true);
var f=contentType;
if(!f)
{
f="application/x-www-form-urlencoded"
}
xmlhttp.setRequestHeader("Content-Type",f);
xmlhttp.send(usePost);
}
else
{
xmlhttp.open("GET",url,true);
xmlhttp.send(null)
}
return true
}
function nullFunction()
{
};
//GXml的静态方法parse,参数a是xml字符串
function parse(a)
{
if(typeof ActiveXObject!="undefined"&&typeof GetObject!="undefined")//IE模式
{
var b=new ActiveXObject("Microsoft.XMLDOM");
b.loadXML(a);
return b
}
if(typeof DOMParser!="undefined")//Firefox模式
{
return(new DOMParser()).parseFromString(a,"text/xml")
}
return CreateElement("div",null)
}
//进行XSLT转化的类,构造函数是一个XSLT的xmlNode
function GXslt(a)
{
this.xsltNode=a
}
GXslt.prototype.transformToHtml=function(a,b)
{
if(a.transformNode)//浏览器是否支持XSLT转化(IE模式)
{
setInnerHTML(b,a.transformNode(this.xsltNode));
return true
}
else if(XSLTProcessor&&XSLTProcessor.prototype.jf)//(FireFox模式的XSLT转化,这一段我也不是太懂)
{
var c=new XSLTProcessor();
c.jf(this.mh);//jf究竟是一个什么方法呢?浏览器集成的,还是Google的AJAX里面提供的?
var d=c.transformToFragment(a,window.document);
removeNodeChildren(b);
b.appendChild(d);
return true
}
else
{
return false
}
}

function loadingEvent(divID, imgUrl)
{
document.getElementById(divID).innerHTML = imgUrl;
}

本文出自 “小何贝贝的技术空间” 博客,请务必保留此出处http://babyhe.blog.51cto.com/1104064/253393
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: