在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
基本用法: 复制代码 代码如下: 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); }; }; |
请发表评论