/** 融汇兴业rewinAjax对象. **/ rewinjson = {version: '1.0'}; rewinjson.client = new Object(); rewinjson.tool = new Object(); rewinjson.rewinAjax = function(url, param, method, reqType, obj,errMethod) { this.obj = rewinjson.tool.$(obj); this.url = url; this.method = method; this.errMethod=errMethod; this.parameter = param;//eval('('+param+')'); var _paramStr = null; this.ajaxType = this.parameter.type.toLowerCase();//是 var rewinjson_divnum = obj.substring(obj.lastIndexOf("_")+1); var rewinjson_divBase = obj.substring(0,obj.lastIndexOf("_")+1); if(this.ajaxType.indexOf("json") != -1){//是以json请求 _paramStr = this.parameter.parameter;//将参数拼成一个串 _paramStr += "&datalen="+rewinjson_divnum; temphrefurl = this.parameter.hrefURL; temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl)); _paramStr += "&hrefURL="+temphrefurl; tempfilter = this.parameter.filter; //tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter)); tempfilter = rewinjson.tool.base64encode(encodeURI(tempfilter)); //alert(tempfilter); _paramStr += "&filter="+tempfilter; _paramStr += "&jsontype="+this.ajaxType; }else{//带样式的请求 _paramStr = this.parameter.parameter;//将参数拼成一个串 temphrefurl = this.parameter.hrefURL; temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl)); _paramStr += "&hrefURL="+temphrefurl; tempfilter = this.parameter.filter; tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter)); _paramStr += "&filter="+tempfilter } this.req = null; if(!isNaN(rewinjson_divnum)){ var tempNum = Math.floor(parseInt(rewinjson_divnum)/2); for(var k = 0 ;k < tempNum; k ++){ rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " "; } for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){ rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " "; } if(rewinjson_divnum != undefined && rewinjson_divnum != null && rewinjson_divnum != ""){ rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = " 数据正在加载,请稍侯......"; }else{ ; } }else{ //this.obj.innerHTML = " 数据正在加载,请稍侯......"; } if (window.XMLHttpRequest) { this.req=new XMLHttpRequest(); } else if (window.ActiveXObject) { this.req=new ActiveXObject("Microsoft.XMLHTTP"); } if (this.req) { try { var loader=this; this.req.onreadystatechange=function() { rewinjson.rewinAjax.onReadyState.call(loader); } var _method = reqType.trim(); _method = _method.toLowerCase(); if(_method == "post"){ this.req.open("POST",url,true); this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); this.req.setRequestHeader("charset","GBK"); this.req.send(_paramStr); }else{ this.url = url + "?" + _paramStr; this.req.open("GET",this.url,true); this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); this.req.setRequestHeader("charset","GBK"); this.req.send(null); } /// //this.req.open("post",this.url,true); //this.req.send(this.url); } catch (err) { //alert(err+"ssss"); throw err; } } } rewinjson.rewinAjax.onReadyState = function() { if (this.req.readyState==4) { var httpStatus=this.req.status; if (httpStatus==200 || httpStatus==0) { if (this.method) { this.method(this.req.responseText, this.obj); } try{ eval(this.errMethod)(); }catch(err){} }else if(httpStatus == 404){ try{ if(this.errMethod){ eval(this.errMethod)(); } }catch(err){} } } } //第二种ajax主要用于带选项卡的 rewinjson.rewinAjax_tab = function(url, param, method, reqType, obj,tabName) { this.obj = rewinjson.tool.$(obj); this.url = url; this.method = method; this.tabName = tabName; this.parameter = param;//eval('('+param+')'); var _paramStr = null; this.ajaxType = this.parameter.type.toLowerCase();//是 var rewinjson_divnum = obj.substring(obj.lastIndexOf("_")+1); var rewinjson_divBase = obj.substring(0,obj.lastIndexOf("_")+1); if(this.ajaxType.indexOf("json") != -1){//是以json请求 _paramStr = this.parameter.parameter;//将参数拼成一个串 _paramStr += "&datalen="+rewinjson_divnum; temphrefurl = this.parameter.hrefURL; temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl)); _paramStr += "&hrefURL="+temphrefurl; tempfilter = this.parameter.filter; tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter)); _paramStr += "&filter="+tempfilter; _paramStr += "&jsontype="+this.ajaxType; }else{//带样式的请求 _paramStr = this.parameter.parameter;//将参数拼成一个串 temphrefurl = this.parameter.hrefURL; temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl)); _paramStr += "&hrefURL="+temphrefurl; tempfilter = this.parameter.filter; tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter)); _paramStr += "&filter="+tempfilter } this.req = null; if(!isNaN(rewinjson_divnum)){ var tempNum = Math.floor(parseInt(rewinjson_divnum)/2); for(var k = 0 ;k < tempNum; k ++){ if(rewinjson.tool.$(rewinjson_divBase+k) != undefined) rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " "; } for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){ if(rewinjson.tool.$(rewinjson_divBase+k) != undefined) rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " "; } if(rewinjson.tool.$(rewinjson_divBase+tempNum) != undefined) rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = " 数据正在加载,请稍侯......"; else this.obj.innerHTML = " 数据正在加载,请稍侯......"; }else{ this.obj.innerHTML = " 数据正在加载,请稍侯......"; } if (window.XMLHttpRequest) { this.req=new XMLHttpRequest(); } else if (window.ActiveXObject) { this.req=new ActiveXObject("Microsoft.XMLHTTP"); } if (this.req) { try { var loader=this; this.req.onreadystatechange=function() { rewinjson.rewinAjax.onReadyState.call(loader); } var _method = reqType.trim(); _method = _method.toLowerCase(); if(_method == "post"){ //alert(_paramStr); this.req.open("POST",url,true); this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); this.req.setRequestHeader("charset","GBK"); this.req.send(_paramStr); }else{ this.url = url + "?" + _paramStr; this.req.open("GET",this.url,true); this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); this.req.setRequestHeader("charset","GBK"); this.req.send(null); } /// //this.req.open("post",this.url,true); //this.req.send(this.url); } catch (err) { //alert(err); } } }