Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > ajax

一个AJAX类代码

来源:中文源码网    浏览:262 次    日期:2024-04-27 12:07:51
【下载文档:  一个AJAX类代码.txt 】


一个AJAX类代码
基本用法: 复制代码 代码如下: var ajax = new AjaxObj(url); ajax.addListener(200, function(r){ alert(r); }); ajax.send(); 也可以连续调用: 复制代码 代码如下: var ajax = new AjaxObj(url).addListener(200, function(r){ alert(r); }).send(); 另外还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码,自己看代码琢磨吧 :) 完整代码: 复制代码 代码如下: 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-www-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] != null) self.L[self.r.status](self.r.responseText); }; };

相关内容