XMLHTTPRequest 的封装--Sender
来源:互联网 发布:vscode golang 跳转 编辑:程序博客网 时间:2024/05/20 23:29
Function.registerNamespace("net.bingosoft.web");
net.bingosoft.web.Sender = function()...{
net.bingosoft.web.Sender.initializeBase(this);
this.makeXMLHTTP = function() ...{
var xmlhttp = null;
if(window.ActiveXObject) ...{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest) ...{
xmlhttp = new XMLHttpRequest();
} else ...{
throw new Error("Could not create xmlhttp on your browser");
}
return xmlhttp;
}
var _url;
var _method;
var _async;
var _callback;
var _sendbody;
var _xmlhttp = null;
var _headerName = "Content-Type";
var _headerValue = "text/xml";
var _self = this;
this._onreadystatechange = function() ...{
if(_xmlhttp==null) return;
if(_xmlhttp.readyState != 4) return;
if(_xmlhttp.status == 200 || _xmlhttp.status == 304) ...{
if(_callback == null) ...{
return;
} else if(_callback instanceof Function) ...{
var retXmlDom = _xmlhttp.responseXML;
if(retXmlDom.xml=="") ...{
retXmlDom = new ActiveXObject("Microsoft.XMLDOM");
retXmlDom.loadXML(_xmlhttp.responseText);
}
_callback.call(_self,retXmlDom);
} else ...{
_callback.call(_self, _xmlhttp.responseXML);
}
_xmlhttp = null;
} else ...{
if(typeof(processException) != "undefined") ...{
processException(_xmlhttp.status,_xmlhttp.statusText);
} else ...{
alert(_xmlhttp.status+": "+_xmlhttp.statusText);
}
}
}
this.send = function(url,method,callback,sendBody) ...{
_xmlhttp = this.makeXMLHTTP();
_url = url;
_method = method || "POST";
_async = callback ? true : false;
_callback = callback || null;
_sendbody = sendBody || "";
_xmlhttp.open(_method,_url,_async);
_xmlhttp.setRequestHeader(_headerName,_headerValue);
if(_async) ...{
_xmlhttp.onreadystatechange = function() ...{
_self._onreadystatechange.call(_self);
}
}
_xmlhttp.send(_sendbody);
if(!_async) ...{
var retXmlDom = _xmlhttp.responseXML;
if(retXmlDom.xml=="") ...{
retXmlDom = new ActiveXObject("Microsoft.XMLDOM");
retXmlDom.loadXML(_xmlhttp.responseText);
}
return retXmlDom;
}
}
}
net.bingosoft.web.Sender.registerClass("net.bingosoft.web.Sender", null, null);
var $sender = new net.bingosoft.web.Sender();
net.bingosoft.web.Sender = function()...{
net.bingosoft.web.Sender.initializeBase(this);
this.makeXMLHTTP = function() ...{
var xmlhttp = null;
if(window.ActiveXObject) ...{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest) ...{
xmlhttp = new XMLHttpRequest();
} else ...{
throw new Error("Could not create xmlhttp on your browser");
}
return xmlhttp;
}
var _url;
var _method;
var _async;
var _callback;
var _sendbody;
var _xmlhttp = null;
var _headerName = "Content-Type";
var _headerValue = "text/xml";
var _self = this;
this._onreadystatechange = function() ...{
if(_xmlhttp==null) return;
if(_xmlhttp.readyState != 4) return;
if(_xmlhttp.status == 200 || _xmlhttp.status == 304) ...{
if(_callback == null) ...{
return;
} else if(_callback instanceof Function) ...{
var retXmlDom = _xmlhttp.responseXML;
if(retXmlDom.xml=="") ...{
retXmlDom = new ActiveXObject("Microsoft.XMLDOM");
retXmlDom.loadXML(_xmlhttp.responseText);
}
_callback.call(_self,retXmlDom);
} else ...{
_callback.call(_self, _xmlhttp.responseXML);
}
_xmlhttp = null;
} else ...{
if(typeof(processException) != "undefined") ...{
processException(_xmlhttp.status,_xmlhttp.statusText);
} else ...{
alert(_xmlhttp.status+": "+_xmlhttp.statusText);
}
}
}
this.send = function(url,method,callback,sendBody) ...{
_xmlhttp = this.makeXMLHTTP();
_url = url;
_method = method || "POST";
_async = callback ? true : false;
_callback = callback || null;
_sendbody = sendBody || "";
_xmlhttp.open(_method,_url,_async);
_xmlhttp.setRequestHeader(_headerName,_headerValue);
if(_async) ...{
_xmlhttp.onreadystatechange = function() ...{
_self._onreadystatechange.call(_self);
}
}
_xmlhttp.send(_sendbody);
if(!_async) ...{
var retXmlDom = _xmlhttp.responseXML;
if(retXmlDom.xml=="") ...{
retXmlDom = new ActiveXObject("Microsoft.XMLDOM");
retXmlDom.loadXML(_xmlhttp.responseText);
}
return retXmlDom;
}
}
}
net.bingosoft.web.Sender.registerClass("net.bingosoft.web.Sender", null, null);
var $sender = new net.bingosoft.web.Sender();
- XMLHTTPRequest 的封装--Sender
- XMLHTTPRequest 的封装--Render
- XMLHTTPRequest 的封装--Binder
- XMLhttpRequest 封装
- 对AJAX中XMLHttpRequest的封装
- xmlHttpRequest封装类
- JS-封装 ajax XmlHttpRequest
- JavaScript 自定义封装XMLHttpRequest
- 得到XmlHttpRequest对象封装的函数,支持ie和firefox
- Ajax中封装创建XMLHttpRequest对象的方法
- Ajax中封装创建XMLHttpRequest对象的方法
- 【Ajax 2】封装Ajax的核心对象:XMLHttpRequest对象
- RN中也可用的网络库封装,基于xmlhttprequest~
- sender,e 的意义
- sender的理解
- Sender的作用
- Sender的认识
- 关于IBAction的sender
- XPATH笔记
- 在XSL文件里应用javascript
- 在没有Framework的机器上部署.NET程序
- XMLHTTPRequest 的封装--Render
- XMLHTTPRequest 的封装--Binder
- XMLHTTPRequest 的封装--Sender
- oop设计原则
- HTML页面输入验证
- DHTML+JAVAScript学习资源
- 在.NET程序中小心使用String类型
- .net 接口示例
- 正则表达式验证日期和Email
- 小故事
- vb.net中应用 ArrayList