/* * XMLHttpRequest * */ var HttpRequest = function (url){ this.XMLHttp=getXMLHttpRequest(); this.params= ""; this.url=url; } /** * 设置远程地址 */ HttpRequest.prototype.SetURL = function(url){ this.url=url; } /** * 添加参数 */ HttpRequest.prototype.AddParam = function(name, value){ if(this.params.length>0) this.params+="&"; this.params+=name+"="+encodeURIComponent(value); } /** * 发送请求 */ HttpRequest.prototype.Send = function(method){ var path=this.url; if(path.indexOf("?")<0) path+="?"; path+=this.params; this.XMLHttp.open(method, path, false); this.XMLHttp.setRequestHeader("Content-Type","text/html; charset=UTF-8"); this.XMLHttp.send(); return (this.XMLHttp.status==200); } /** * Get模式调用 */ HttpRequest.prototype.Get= function(){ if(this.Send("GET")) return this.XMLHttp.responseText; else return null; } // 发送请求(方法[post,get], 地址, 数据, 回调函数) SendReq: function (method, url, data, callback,id) { var objXMLHttp = this._getInstance(); with(objXMLHttp) { try { // 加随机数防止缓存 if (url.indexOf("?") > 0) { url += "&randnum=" + Math.random(); } else { url += "?randnum=" + Math.random(); } open(method, url, true); // 设定请求编码方式 setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); send(data); onreadystatechange = function () { if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) { callback(objXMLHttp,id); } } } catch(e) { alert(e); } } } function getXMLHttpRequest(){ http_request = false; //开始初始化XMLHttpRequest对象 if (window.XMLHttpRequest) { //Mozilla 浏览器,IE7 http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) {//设置MiME类别 http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE6浏览器 try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { // 异常,创建对象实例失败 window.alert("不能创建XMLHttpRequest对象实例."); return null; } // http_request.setRequestHeader("Content-Type","text/html; charset=UTF-8"); return http_request; } function sendRequest(http_request,url,handler) {//初始化、指定处理函数、发送请求的函数 http_request.onreadystatechange = handler; // 确定发送请求的方式和URL以及是否同步执行下段代码 //http_request.setHeader("Cache-Control", "no-cache, must-revalidate"); http_request.open("post", url, true); http_request.send(null); }