一个AJAX类代码

网络编程 2025-03-25 13:05www.168986.cn编程入门

曾经编写过一个AJAX类,该类的兼容性很好,简单易用,今天特地记录下,方便以后查找和参考。

基本使用方法非常简单,只需创建AjaxObj对象并指定URL,然后添加监听器并发送请求即可。例如:

```javascript

var ajax = new AjaxObj(url);

ajax.addListener(200, function(response){

alert(response);

});

ajax.send();

```

还可以采用连续调用的方式,如:

```javascript

var ajax = new AjaxObj(url)

.addListener(200, function(response){

alert(response);

})

.send();

```

这个AJAX类还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码。具体的实现细节可以自行查看代码。

以下是该AJAX类的完整代码:

```javascript

AjaxObj = function(url, method, content) {

this.r = null;

this.url = url;

this.method = method;

this.content = content;

this.header = {};

this.header["Connection"] = "close";

this.header["Content-type"] = "application/x--form-urlencoded";

var self = this;

if (window.XMLHttpRequest) {

this.r = new XMLHttpRequest();

} else if (window.ActiveXObject) {

try {

this.r = new ActiveXObject("Msxml2.XMLHTTP");

} catch(e) {

try {

this.r = new ActiveXObject("Microsoft.XMLHTTP");

} catch(e) {}

}

}

this.addListener = function(http_status, func) {

if(!this.L) this.L=[];

this.L[http_status] = func;

return this;

};

this.setHeader = function(name, value) {

this.header[name] = value;

this.r.setRequestHeader(name, value);

return this;

};

this.send = function() {

if (this.method != "post" && this.method != "get") this.method = "get";

this.r.open(this.method, this.url, true);

for (var h in this.header) {

this.r.setRequestHeader(h, this.header[h]);

}

this.r.send(this.content);

};

if (this.r) this.r.onreadystatechange = function() {

if (self.r.readyState == 4 && self.L[self.r.status]) self.L[self.r.status](self.r.responseText);

};

};

```

这个AJAX类可以很好地适应不同的浏览器环境,并且提供了丰富的接口供开发者使用。无论是GET请求还是POST请求,都可以轻松实现,并且支持自定义HTTP头信息。当请求状态改变时,可以通过监听器获取响应数据。希望这个类能对你的开发有所帮助。

上一篇:浅谈vue2 单页面如何设置网页title 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by