我的JS库
//Ajax扩展var Ajax = function(url, params, callback) { var reqError = "\u54cd\u5e94\u5f02\u5e38\uff01\uff01\uff01"; var sendData = null; var createXHR = function () { var XHR; if (window.XMLHttpRequest) { XHR = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { XHR = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { XHR = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } } return XHR; }; var processParams = function () { var ret = ""; for (var p in params) { ret += "&"; ret += p + "=" + params; } ret = ret.substring(1); return ret; }; var method = (url.indexOf("?") == -1) ? "POST" : "GET"; if (params&&typeof(params)=='object') { if(typeof(params)=='object'){ if (method == "GET") { url += "&" + processParams(); } else { sendData = processParams(); } } if(typeof(params)=='string'){ if (method == "GET") { url += "&" + params; } else { sendData = params; } } } var xhr = createXHR(); xhr.open(method, url, true); if (method == "POST") { xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { if(callback){ callback(xhr); }; } else { window.alert(reqError); } } }; xhr.send(sendData);};//Array扩展Array.prototype.indexOf=function (el) {var ret=-1;for(var k=0;k<this.length;k++) {if(this==el) {ret=k;break;}}return ret;};Array.prototype.each=function (fn) {for(var k=0;k<this.length;k++) {fn(this,k);}};Array.prototype.unique=function () {var temp={};var result=[];for(var k=0;k<this.length;k++) {if(!temp]) {temp]=true;}}for(var i in temp) {result.push(i);}return result;};Array.prototype.remove=function (el) {while(this.indexOf(el)!=-1) {this.splice(this.indexOf(el),1);}return this;};var Map=function () { this.map={}; this.keys=[]; this.values=[]; this.count=0; this.add=function (k,v) { this.map=v; var index=this.keys.indexOf(k); if(index!=-1) { this.values=v; }else { this.keys.push(k); this.values.push(v); this.count++; } }; this.get=function (k) { return this.map; } };//Function扩展Function.prototype.defer=function () {var time=arguments?arguments:1000;var params=[];for(var k=1;k<arguments.length;k++) {params.push(arguments);}params=params.join(",");window.setTimeout(this(params),time);};
页:
[1]