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
//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
相关文章推荐
- JavaScript使用Ajax上传文件的示例代码
- javascript 实现 ajax 示例代码----get方式
- 阿里云oss post上传文件 JavaScript代码示例 $.ajax()
- IE6中请求莫名中断(条件:a标签,click事件中有ajax请求,a标签中有href且是JavaScript:void(0);或JavaScript:;等阻断跳转代码)
- Ajax同步与异步传输的示例代码
- JavaScript中实现Map的示例代码
- Javascript级联下拉菜单以及AJAX数据验证核心代码
- AJAX代码示例(不使用AJAX控件)
- JavaScript Ajax Json实现上下级下拉框联动效果实例代码
- 用javascript删除当前行,添加行(示例代码)
- JavaScript的generator示例代码
- JavaScript与JQuery的AJAX的使用代码
- javascript计算星座属相(十二生肖属相)示例代码
- JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]
- jQuery中$.ajax$()方法的参数详解及示例代码
- PHP与javascript实现变量交互的示例代码
- javascript:json数据的页面绑定示例代码
- Js和Jquery中ajax返回JSON格式的两种方法!(各有示例代码)
- 用javascript替换URL中的参数值示例代码
- 使用JavaScript实现ajax的实例代码