|
- /**
- *
- * @version $Id: dedeajax.js 1 22:28 2010年7月20日Z tianya $
- * @package DedeBIZ.Administrator
- * @copyright Copyright (c) 2022, DedeBIZ.COM
- * @license https://www.dedebiz.com/license
- * @link https://www.dedebiz.com
- */
-
- //xmlhttp和xmldom对象
- DedeXHTTP = null;
- DedeXDOM = null;
- DedeContainer = null;
-
- //获取指定ID的元素
- function $(eid) {
- return document.getElementById(eid);
- }
-
- function $DE(id) {
- return document.getElementById(id);
- }
-
- //参数 gcontainer 是保存下载完成的内容的容器
-
- function DedeAjax(gcontainer) {
-
- DedeContainer = gcontainer;
-
- //post或get发送数据的键值对
- this.keys = Array();
- this.values = Array();
- this.keyCount = -1;
-
- //http请求头
- this.rkeys = Array();
- this.rvalues = Array();
- this.rkeyCount = -1;
- //请求头类型
- this.rtype = 'text';
-
- //初始化xmlhttp
- if (window.ActiveXObject) {//IE6、IE5
- try { DedeXHTTP = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
- if (DedeXHTTP == null) try { DedeXHTTP = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
- }
- else {
- DedeXHTTP = new XMLHttpRequest();
- }
-
- DedeXHTTP.onreadystatechange = function () {
- if (DedeXHTTP.readyState == 4) {
- if (DedeXHTTP.status == 200) {
- DedeContainer.innerHTML = DedeXHTTP.responseText;
- DedeXHTTP = null;
- } else DedeContainer.innerHTML = "下载数据失败";
- } else DedeContainer.innerHTML = "正在下载数据...";
- };
-
- //增加一个POST或GET键值对
- this.AddKey = function (skey, svalue) {
- this.keyCount++;
- this.keys[this.keyCount] = skey;
- this.values[this.keyCount] = escape(svalue);
- };
-
- //增加一个Http请求头键值对
- this.AddHead = function (skey, svalue) {
- this.rkeyCount++;
- this.rkeys[this.rkeyCount] = skey;
- this.rvalues[this.rkeyCount] = svalue;
- };
-
- //清除当前对象的哈希表参数
- this.ClearSet = function () {
- this.keyCount = -1;
- this.keys = Array();
- this.values = Array();
- this.rkeyCount = -1;
- this.rkeys = Array();
- this.rvalues = Array();
- };
-
- //发送http请求头
- this.SendHead = function () {
- if (this.rkeyCount != -1) { //发送用户自行设定的请求头
- for (; i <= this.rkeyCount; i++) {
- DedeXHTTP.setRequestHeader(this.rkeys[i], this.rvalues[i]);
- }
- }
- if (this.rtype == 'binary') {
- DedeXHTTP.setRequestHeader("Content-Type", "multipart/form-data");
- } else {
- DedeXHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- }
- };
-
- //用Post方式发送数据
- this.SendPost = function (purl) {
- var pdata = "";
- var i = 0;
- this.state = 0;
- DedeXHTTP.open("POST", purl, true);
- this.SendHead();
- if (this.keyCount != -1) { //post数据
- for (; i <= this.keyCount; i++) {
- if (pdata == "") pdata = this.keys[i] + '=' + this.values[i];
- else pdata += "&" + this.keys[i] + '=' + this.values[i];
- }
- }
- DedeXHTTP.send(pdata);
- };
-
- //用GET方式发送数据
- this.SendGet = function (purl) {
- var gkey = "";
- var i = 0;
- this.state = 0;
- if (this.keyCount != -1) { //get参数
- for (; i <= this.keyCount; i++) {
- if (gkey == "") gkey = this.keys[i] + '=' + this.values[i];
- else gkey += "&" + this.keys[i] + '=' + this.values[i];
- }
- if (purl.indexOf('?') == -1) purl = purl + '?' + gkey;
- else purl = purl + '&' + gkey;
- }
- DedeXHTTP.open("GET", purl, true);
- this.SendHead();
- DedeXHTTP.send(null);
- };
-
- } // End Class DedeAjax
-
- //初始化xmldom
- function InitXDom() {
- if (DedeXDOM != null) return;
- var obj = null;
- if (typeof (DOMParser) != "undefined") { // Gecko、Mozilla、Firefox
- var parser = new DOMParser();
- obj = parser.parseFromString(xmlText, "text/xml");
- } else { // IE
- try { obj = new ActiveXObject("MSXML2.DOMDocument"); } catch (e) { }
- if (obj == null) try { obj = new ActiveXObject("Microsoft.XMLDOM"); } catch (e) { }
- }
- DedeXDOM = obj;
- };
|