⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 engine.js

📁 几个运用了DWR框架编写的AJAX代码,
💻 JS
📖 第 1 页 / 共 2 页
字号:
if (reply.search("DWREngine._handle") == -1) {DWREngine._handleMetaDataError(null, "Invalid reply from server");return;}if (status != 200) {if (reply == null) reply = "Unknown error occured";DWREngine._handleMetaDataError(null, reply);return;}eval(reply);DWREngine._clearUp(batch);}catch (ex) {if (ex == null) ex = "Unknown error occured";DWREngine._handleMetaDataError(null, ex);}finally {if (DWREngine._batchQueue.length != 0) {var sendbatch = DWREngine._batchQueue.shift();DWREngine._sendData(sendbatch);DWREngine._batches[DWREngine._batches.length] = sendbatch;}}}};DWREngine._handleResponse = function(id, reply) {var handlers = DWREngine._handlersMap[id];DWREngine._handlersMap[id] = null;if (handlers) {try {if (handlers.callback) handlers.callback(reply);}catch (ex) {DWREngine._handleMetaDataError(handlers, ex);}}if (DWREngine._method == DWREngine.IFrame) {var responseBatch = DWREngine._batches[DWREngine._batches.length-1];if (responseBatch.map["c"+(responseBatch.map.callCount-1)+"-id"] == id) {DWREngine._clearUp(responseBatch);}}};DWREngine._handleServerError = function(id, error) {var handlers = DWREngine._handlersMap[id];DWREngine._handlersMap[id] = null;if (error.message) {DWREngine._handleMetaDataError(handlers, error.message, error);}else {DWREngine._handleMetaDataError(handlers, error);}};DWREngine._abortRequest = function(batch) {if (batch && batch.metadata != null && !batch.completed) {DWREngine._clearUp(batch);if (batch.req) batch.req.abort();var handlers;var id;for (var i = 0; i < batch.ids.length; i++) {id = batch.ids[i];handlers = DWREngine._handlersMap[id];DWREngine._handleMetaDataError(handlers, "Timeout");}}};DWREngine._clearUp = function(batch) {if (batch.completed) {alert("double complete");return;}if (batch.div) batch.div.parentNode.removeChild(batch.div);if (batch.iframe) batch.iframe.parentNode.removeChild(batch.iframe);if (batch.form) batch.form.parentNode.removeChild(batch.form);if (batch.req) delete batch.req;for (var i = 0; i < batch.postHooks.length; i++) {batch.postHooks[i]();}batch.postHooks = null;for (var i = 0; i < DWREngine._batches.length; i++) {if (DWREngine._batches[i] == batch) {DWREngine._batches.splice(i, 1);break;}}batch.completed = true;};DWREngine._handleError = function(reason, ex) {if (DWREngine._errorHandler) {DWREngine._errorHandler(reason, ex);}};DWREngine._handleMetaDataError = function(handlers, reason, ex) {if (handlers && typeof handlers.errorHandler == "function") {handlers.errorHandler(reason, ex);}else {DWREngine._handleError(reason, ex);}};DWREngine._addSerializeFunctions = function() {Object.prototype.dwrSerialize = DWREngine._serializeObject;Array.prototype.dwrSerialize = DWREngine._serializeArray;Boolean.prototype.dwrSerialize = DWREngine._serializeBoolean;Number.prototype.dwrSerialize = DWREngine._serializeNumber;String.prototype.dwrSerialize = DWREngine._serializeString;Date.prototype.dwrSerialize = DWREngine._serializeDate;};DWREngine._removeSerializeFunctions = function() {delete Object.prototype.dwrSerialize;delete Array.prototype.dwrSerialize;delete Boolean.prototype.dwrSerialize;delete Number.prototype.dwrSerialize;delete String.prototype.dwrSerialize;delete Date.prototype.dwrSerialize;};DWREngine._serializeAll = function(batch, referto, data, name) {if (data == null) {batch.map[name] = "null:null";return;}switch (typeof data) {case "boolean":batch.map[name] = "boolean:" + data;break;case "number":batch.map[name] = "number:" + data;break;case "string":batch.map[name] = "string:" + encodeURIComponent(data);break;case "object":if (data.dwrSerialize) {batch.map[name] = data.dwrSerialize(batch, referto, data, name);}else if (data.nodeName) {batch.map[name] = DWREngine._serializeXml(batch, referto, data, name);}else {if (DWREngine._warningHandler) {DWREngine._warningHandler("Object without dwrSerialize: " + typeof data + ", attempting default converter.");}batch.map[name] = "default:" + data;}break;case "function":break;default:if (DWREngine._warningHandler) {DWREngine._warningHandler("Unexpected type: " + typeof data + ", attempting default converter.");}batch.map[name] = "default:" + data;break;}};DWREngine._lookup = function(referto, data, name) {var lookup;for (var i = 0; i < referto.length; i++) {if (referto[i].data == data) {lookup = referto[i];break;}}if (lookup) {return "reference:" + lookup.name;}referto.push({ data:data, name:name });return null;};DWREngine._serializeObject = function(batch, referto, data, name) {var ref = DWREngine._lookup(referto, this, name);if (ref) return ref;if (data.nodeName) {return DWREngine._serializeXml(batch, referto, data, name);}var reply = "Object:{";var element;for (element in this)  {if (element != "dwrSerialize") {batch.paramCount++;var childName = "c" + DWREngine._batch.map.callCount + "-e" + batch.paramCount;DWREngine._serializeAll(batch, referto, this[element], childName);reply += encodeURIComponent(element);reply += ":reference:";reply += childName;reply += ", ";}}if (reply.substring(reply.length - 2) == ", ") {reply = reply.substring(0, reply.length - 2);}reply += "}";return reply;};DWREngine._serializeXml = function(batch, referto, data, name) {var ref = DWREngine._lookup(referto, this, name);if (ref) {return ref;}var output;if (window.XMLSerializer) {var serializer = new XMLSerializer();output = serializer.serializeToString(data);}else {output = data.toXml;}return "XML:" + encodeURIComponent(output);};DWREngine._serializeArray = function(batch, referto, data, name) {var ref = DWREngine._lookup(referto, this, name);if (ref) return ref;var reply = "Array:[";for (var i = 0; i < this.length; i++) {if (i != 0) {reply += ",";}batch.paramCount++;var childName = "c" + DWREngine._batch.map.callCount + "-e" + batch.paramCount;DWREngine._serializeAll(batch, referto, this[i], childName);reply += "reference:";reply += childName;}reply += "]";return reply;};DWREngine._serializeBoolean = function(batch, referto, data, name) {return "Boolean:" + this;};DWREngine._serializeNumber = function(batch, referto, data, name) {return "Number:" + this;};DWREngine._serializeString = function(batch, referto, data, name) {return "String:" + encodeURIComponent(this);};DWREngine._serializeDate = function(batch, referto, data, name) {return "Date:" + this.getTime();};DWREngine._unserializeDocument = function(xml) {var dom;if (window.DOMParser) {var parser = new DOMParser();dom = parser.parseFromString(xml, "text/xml");if (!dom.documentElement || dom.documentElement.tagName == "parsererror") {var message = dom.documentElement.firstChild.data;message += "\n" + dom.documentElement.firstChild.nextSibling.firstChild.data;throw message;}return dom;}else if (window.ActiveXObject) {dom = DWREngine._newActiveXObject(DWREngine._DOMDocument);dom.loadXML(xml);return dom;}else {var div = document.createElement('div');div.innerHTML = xml;return div;}};DWREngine._newActiveXObject = function(axarray) {var returnValue;for (var i = 0; i < axarray.length; i++) {try {returnValue = new ActiveXObject(axarray[i]);break;}catch (ex) {}}return returnValue;};if (typeof window.encodeURIComponent === 'undefined') {DWREngine._utf8 = function(wide) {wide = "" + wide;var c;var s;var enc = "";var i = 0;while (i < wide.length) {c = wide.charCodeAt(i++);if (c >= 0xDC00 && c < 0xE000) continue;if (c >= 0xD800 && c < 0xDC00) {if (i >= wide.length) continue;s = wide.charCodeAt(i++);if (s < 0xDC00 || c >= 0xDE00) continue;c = ((c - 0xD800) << 10) + (s - 0xDC00) + 0x10000;}if (c < 0x80) {enc += String.fromCharCode(c);}else if (c < 0x800) {enc += String.fromCharCode(0xC0 + (c >> 6), 0x80 + (c & 0x3F));}else if (c < 0x10000) {enc += String.fromCharCode(0xE0 + (c >> 12), 0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F));}else {enc += String.fromCharCode(0xF0 + (c >> 18), 0x80 + (c >> 12 & 0x3F), 0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F));}}return enc;}DWREngine._hexchars = "0123456789ABCDEF";DWREngine._toHex = function(n) {return DWREngine._hexchars.charAt(n >> 4) + DWREngine._hexchars.charAt(n & 0xF);}DWREngine._okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";window.encodeURIComponent = function(s)  {s = DWREngine._utf8(s);var c;var enc = "";for (var i= 0; i<s.length; i++) {if (DWREngine._okURIchars.indexOf(s.charAt(i)) == -1) {enc += "%" + DWREngine._toHex(s.charCodeAt(i));}else {enc += s.charAt(i);}}return enc;}}if (typeof Array.prototype.splice === 'undefined') {Array.prototype.splice = function(ind, cnt){if (arguments.length == 0) {return ind;}if (typeof ind != "number") {ind = 0;}if (ind < 0) {ind = Math.max(0,this.length + ind);}if (ind > this.length) {if (arguments.length > 2) {ind = this.length;}else {return [];}}if (arguments.length < 2) {cnt = this.length-ind;}cnt = (typeof cnt == "number") ? Math.max(0, cnt) : 0;removeArray = this.slice(ind, ind + cnt);endArray = this.slice(ind + cnt);this.length = ind;for (var i = 2; i < arguments.length; i++) {this[this.length] = arguments[i];}for (i = 0; i < endArray.length; i++) {this[this.length] = endArray[i];}return removeArray;}}if (typeof Array.prototype.shift === 'undefined') {Array.prototype.shift = function(str) {var val = this[0];for (var i = 1; i < this.length; ++i) {this[i - 1] = this[i];}this.length--;return val;}}if (typeof Array.prototype.unshift === 'undefined') {Array.prototype.unshift = function() {var i = unshift.arguments.length;for (var j = this.length - 1; j >= 0; --j) {this[j + i] = this[j];}for (j = 0; j < i; ++j) {this[j] = unshift.arguments[j];}}}if (typeof Array.prototype.push === 'undefined') {Array.prototype.push = function() {var sub = this.length;for (var i = 0; i < push.arguments.length; ++i) {this[sub] = push.arguments[i];sub++;}}}if (typeof Array.prototype.pop === 'undefined') {Array.prototype.pop = function() {var lastElement = this[this.length - 1];this.length--;return lastElement;}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -