javascript Ajax 类实现代码

时间:2021-05-28

与现在那些Ajax框架比较,优劣之处?看完再说吧:
1、Ajax.js
复制代码 代码如下:

function AjaxDO(){

this.HttpRequest = null;

this.openMethod = null; //HTTP请求的方法,为Get、Post 或者Head

this.openURL = null; //是目标URL。基于安全考虑,这个URL 只能是同网域的,否则会提示“没有权限”的错误。

this.openAsync = null; //是指定在等待服务器返回信息的时间内是否继续执行下面的代码。如果为False,则不会继续执行,直到服务器返回信息。默认为True。

this.ProcessRequestFunction = function(_HttpRequest) {return;} //处理返回信息的函数入口

this.ProcessRequestParam = null; //处理访问信息时的附加参数

this.LoadingImg = null; //正在载入的图片,一般为.gif动画

//初始化HttpRequest
this.InitHttpRequest = function(){
var http;

//try {
//http = new ActiveXObject("Msxml2.XMLHTTP");
//} catch(e) {
//try {
//http = new ActiveXObject("Microsoft.XMLHTTP");
//} catch(e) {
//http = false;
//}
//}

try{
if(window.ActiveXObject){
for(var i=5; i; i--){
try{
if(i==2){
http = new ActiveXObject("Microsoft.XMLHTTP");
}else{
http = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
}
break;
}catch(e){
//alert(i);
http = false;
}
}
}else if(window.XMLHttpRequest){
http = new XMLHttpRequest();
if(http.overrideMimeType){
http.overrideMimeType("text/xml");
}
}
}catch(e){
http = false;
}

if(!http){
Alert("不能创建XMLHttpRequest对象实例");
return http;
}

this.HttpRequest = http;
return http;
}

//检测 this.HttpRequest
this.checkHttpRequest = function(){
if(!this.HttpRequest){
return this.InitHttpRequest();
}
return this.HttpRequest;
}

//修改MIME类别
//http.setRequestHeader("Content-Type", "application/x-/xml/simple.xml";
var data = "";

var ajax = new AjaxDO();

function btnAjax1(){
//var ajax = new AjaxDO();
//ajax.InitHttpRequest();
ajax.abort();

ajax.setLoadingImg(document.getElementById("Layer1"));
ajax.setOnReadyStateChange(processRequest);
ajax.Open("GET", url, true); //异步模式,程序继续执行
ajax.Send("");
}

function btnAjax2(){
//var ajax = new AjaxDO();
//ajax.InitHttpRequest();
ajax.abort();

ajax.Open("GET", url, false); //非异步模式,程序等待
ajax.Send("");
alert(ajax.getResponseText("XML").documentElement.xml);
alert(ajax.getResponseText("TEXT"));
}
// --></script>
<button onclick="btnAjax1()">异步模式</button>
<button onclick="btnAjax2()">非异步模式</button>
</body>
</html>

3、图片

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章