亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jsonrpc.js

?? 基于struts+hibernate+spring開發的商城源碼
?? JS
字號:
/* * JSON-RPC JavaScript client * * $Id: jsonrpc.js,v 1.36.2.1 2005/12/09 13:15:32 mclark Exp $ * * Copyright (c) 2003-2004 Jan-Klaas Kollhof * Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd * * This code is based on Jan-Klaas' JavaScript o lait library (jsolait). * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public (LGPL) * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details: http://www.gnu.org/ * *//* escape a character */escapeJSONChar =function escapeJSONChar(c){    if(c == "\"" || c == "\\") return "\\" + c;    else if (c == "\b") return "\\b";    else if (c == "\f") return "\\f";    else if (c == "\n") return "\\n";    else if (c == "\r") return "\\r";    else if (c == "\t") return "\\t";    var hex = c.charCodeAt(0).toString(16);    if(hex.length == 1) return "\\u000" + hex;    else if(hex.length == 2) return "\\u00" + hex;    else if(hex.length == 3) return "\\u0" + hex;    else return "\\u" + hex;};/* encode a string into JSON format */escapeJSONString =function escapeJSONString(s){    /* The following should suffice but Safari's regex is b0rken       (doesn't support callback substitutions)       return "\"" + s.replace(/([^\u0020-\u007f]|[\\\"])/g,       escapeJSONChar) + "\"";    */    /* Rather inefficient way to do it */    var parts = s.split("");    for(var i=0; i < parts.length; i++) {	var c =parts[i];	if(c == '"' ||	   c == '\\' ||	   c.charCodeAt(0) < 32 ||	   c.charCodeAt(0) >= 128)	    parts[i] = escapeJSONChar(parts[i]);    }    return "\"" + parts.join("") + "\"";};/* Marshall objects to JSON format */toJSON = function toJSON(o){    if(o == null) {	return "null";    } else if(o.constructor == String) {	return escapeJSONString(o);    } else if(o.constructor == Number) {	return o.toString();    } else if(o.constructor == Boolean) {	return o.toString();    } else if(o.constructor == Date) {	return '{javaClass: "java.util.Date", time: ' + o.valueOf() +'}';    } else if(o.constructor == Array) {	var v = [];	for(var i = 0; i < o.length; i++) v.push(toJSON(o[i]));	return "[" + v.join(", ") + "]";    } else {	var v = [];	for(attr in o) {	    if(o[attr] == null) v.push("\"" + attr + "\": null");	    else if(typeof o[attr] == "function"); /* skip */	    else v.push(escapeJSONString(attr) + ": " + toJSON(o[attr]));	}	return "{" + v.join(", ") + "}";    }};/* JSONRpcClient constructor */JSONRpcClient =function JSONRpcClient_ctor(serverURL, user, pass, objectID){    this.serverURL = serverURL;    this.user = user;    this.pass = pass;    this.objectID = objectID;    /* Add standard methods */    if(this.objectID) {	this._addMethods(["listMethods"]);	var req = this._makeRequest("listMethods", []);    } else {	this._addMethods(["system.listMethods"]);	var req = this._makeRequest("system.listMethods", []);    }    var m = this._sendRequest(req);    this._addMethods(m);};/* JSONRpcCLient.Exception */JSONRpcClient.Exception =function JSONRpcClient_Exception_ctor(code, message, javaStack){    this.code = code;    var name;    if(javaStack) {	this.javaStack = javaStack;	var m = javaStack.match(/^([^:]*)/);	if(m) name = m[0];    }    if(name) this.name = name;    else this.name = "JSONRpcClientException";    this.message = message;};JSONRpcClient.Exception.CODE_REMOTE_EXCEPTION = 490;JSONRpcClient.Exception.CODE_ERR_CLIENT = 550;JSONRpcClient.Exception.CODE_ERR_PARSE = 590;JSONRpcClient.Exception.CODE_ERR_NOMETHOD = 591;JSONRpcClient.Exception.CODE_ERR_UNMARSHALL = 592;JSONRpcClient.Exception.CODE_ERR_MARSHALL = 593;JSONRpcClient.Exception.prototype = new Error();JSONRpcClient.Exception.prototype.toString =function JSONRpcClient_Exception_toString(code, msg){    return this.name + ": " + this.message;};/* Default top level exception handler */JSONRpcClient.default_ex_handler =function JSONRpcClient_default_ex_handler(e) { alert(e); };/* Client settable variables */JSONRpcClient.toplevel_ex_handler = JSONRpcClient.default_ex_handler;JSONRpcClient.profile_async = false;JSONRpcClient.max_req_active = 1;JSONRpcClient.requestId = 1;/* JSONRpcClient implementation */JSONRpcClient.prototype._createMethod =function JSONRpcClient_createMethod(methodName){    var fn=function()    {	var args = [];	var callback = null;	for(var i=0;i<arguments.length;i++) args.push(arguments[i]);	if(typeof args[0] == "function") callback = args.shift();	var req = fn.client._makeRequest.call(fn.client, fn.methodName,					      args, callback);	if(callback == null) {	    return fn.client._sendRequest.call(fn.client, req);	} else {	    JSONRpcClient.async_requests.push(req);	    JSONRpcClient.kick_async();	    return req.requestId;	}    };    fn.client = this;    fn.methodName = methodName;    return fn;};JSONRpcClient.prototype._addMethods =function JSONRpcClient_addMethods(methodNames){    for(var i=0; i<methodNames.length; i++) {	var obj = this;	var names = methodNames[i].split(".");	for(var n=0; n<names.length-1; n++) {	    var name = names[n];	    if(obj[name]) {		obj = obj[name];	    } else {		obj[name]  = new Object();		obj = obj[name];	    }	}	var name = names[names.length-1];	if(!obj[name]) {	    var method = this._createMethod(methodNames[i]);	    obj[name] = method;	}    }};JSONRpcClient._getCharsetFromHeaders =function JSONRpcClient_getCharsetFromHeaders(http){    try {	var contentType = http.getResponseHeader("Content-type");	var parts = contentType.split(/\s*;\s*/);	for(var i =0; i < parts.length; i++) {	    if(parts[i].substring(0, 8) == "charset=")		return parts[i].substring(8, parts[i].length);	}    } catch (e) {}    return "UTF-8"; /* default */};/* Async queue globals */JSONRpcClient.async_requests = [];JSONRpcClient.async_inflight = {};JSONRpcClient.async_responses = [];JSONRpcClient.async_timeout = null;JSONRpcClient.num_req_active = 0;JSONRpcClient._async_handler =function JSONRpcClient_async_handler(){    JSONRpcClient.async_timeout = null;    while(JSONRpcClient.async_responses.length > 0) {	var res = JSONRpcClient.async_responses.shift();	if(res.canceled) continue;	if(res.profile) res.profile.dispatch = new Date();	try {	    res.cb(res.result, res.ex, res.profile);	} catch(e) {	    JSONRpcClient.toplevel_ex_handler(e);	}    }    while(JSONRpcClient.async_requests.length > 0 &&	  JSONRpcClient.num_req_active < JSONRpcClient.max_req_active) {	var req = JSONRpcClient.async_requests.shift();	if(req.canceled) continue;	req.client._sendRequest.call(req.client, req);    }};JSONRpcClient.kick_async =function JSONRpcClient_kick_async(){    if(JSONRpcClient.async_timeout == null)	JSONRpcClient.async_timeout =	    setTimeout(JSONRpcClient._async_handler, 0);};JSONRpcClient.cancelRequest =function JSONRpcClient_cancelRequest(requestId){    /* If it is in flight then mark it as canceled in the inflight map       and the XMLHttpRequest callback will discard the reply. */    if(JSONRpcClient.async_inflight[requestId]) {	JSONRpcClient.async_inflight[requestId].canceled = true;	return true;    }    /* If its not in flight yet then we can just mark it as canceled in       the the request queue and it will get discarded before being sent. */    for(var i in JSONRpcClient.async_requests) {	if(JSONRpcClient.async_requests[i].requestId == requestId) {	    JSONRpcClient.async_requests[i].canceled = true;	    return true;	}    }    /* It may have returned from the network and be waiting for its callback       to be dispatched, so mark it as canceled in the response queue       and the response will get discarded before calling the callback. */    for(var i in JSONRpcClient.async_responses) {	if(JSONRpcClient.async_responses[i].requestId == requestId) {	    JSONRpcClient.async_responses[i].canceled = true;	    return true;	}    }    return false;};JSONRpcClient.prototype._makeRequest =function JSONRpcClient_makeRequest(methodName, args, cb){    var req = {};    req.client = this;    req.requestId = JSONRpcClient.requestId++;    var obj = {};    obj.id = req.requestId;    if (this.objectID)	obj.method = ".obj#" + this.objectID + "." + methodName;    else	obj.method = methodName;    obj.params = args;    if (cb) req.cb = cb;    if (JSONRpcClient.profile_async)	req.profile = { "submit": new Date() };    req.data = toJSON(obj);    return req;};JSONRpcClient.prototype._sendRequest =function JSONRpcClient_sendRequest(req){    if(req.profile) req.profile.start = new Date();    /* Get free http object from the pool */    var http = JSONRpcClient.poolGetHTTPRequest();    JSONRpcClient.num_req_active++;    /* Send the request */    http.open("POST", this.serverURL, (req.cb != null), this.user, this.pass);    /* setRequestHeader is missing in Opera 8 Beta */    try { http.setRequestHeader("Content-type", "text/plain"); } catch(e) {}    /* Construct call back if we have one */    if(req.cb) {	var self = this;	http.onreadystatechange = function() {	    if(http.readyState == 4) {		http.onreadystatechange = function () {};		var res = { "cb": req.cb, "result": null, "ex": null};		if (req.profile) {		    res.profile = req.profile;		    res.profile.end = new Date();		}		try { res.result = self._handleResponse(http); }		catch(e) { res.ex = e; }		if(!JSONRpcClient.async_inflight[req.requestId].canceled)		    JSONRpcClient.async_responses.push(res);		delete JSONRpcClient.async_inflight[req.requestId];		JSONRpcClient.kick_async();	    }	};    } else {	http.onreadystatechange = function() {};    }    JSONRpcClient.async_inflight[req.requestId] = req;	    try {	http.send(req.data);    } catch(e) {	JSONRpcClient.poolReturnHTTPRequest(http);	JSONRpcClient.num_req_active--;	throw new JSONRpcClient.Exception	    (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");    }    if(!req.cb) return this._handleResponse(http);};JSONRpcClient.prototype._handleResponse =function JSONRpcClient_handleResponse(http){    /* Get the charset */    if(!this.charset) {	this.charset = JSONRpcClient._getCharsetFromHeaders(http);    }    /* Get request results */    var status, statusText, data;    try {	status = http.status;	statusText = http.statusText;	data = http.responseText;    } catch(e) {	JSONRpcClient.poolReturnHTTPRequest(http);	JSONRpcClient.num_req_active--;	JSONRpcClient.kick_async();	throw new JSONRpcClient.Exception	    (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");    }    /* Return http object to the pool; */    JSONRpcClient.poolReturnHTTPRequest(http);    JSONRpcClient.num_req_active--;    /* Unmarshall the response */    if(status != 200) {	throw new JSONRpcClient.Exception(status, statusText);    }    var obj;    try {	eval("obj = " + data);    } catch(e) {	throw new JSONRpcClient.Exception(550, "error parsing result");    }    if(obj.error)	throw new JSONRpcClient.Exception(obj.error.code, obj.error.msg,					  obj.error.trace);    var res = obj.result;    /* Handle CallableProxy */    if(res && res.objectID && res.JSONRPCType == "CallableReference")	return new JSONRpcClient(this.serverURL, this.user,				 this.pass, res.objectID);    return res;};/* XMLHttpRequest wrapper code *//* XMLHttpRequest pool globals */JSONRpcClient.http_spare = [];JSONRpcClient.http_max_spare = 8;JSONRpcClient.poolGetHTTPRequest =function JSONRpcClient_pool_getHTTPRequest(){    if(JSONRpcClient.http_spare.length > 0) {	return JSONRpcClient.http_spare.pop();    }    return JSONRpcClient.getHTTPRequest();};JSONRpcClient.poolReturnHTTPRequest =function JSONRpcClient_poolReturnHTTPRequest(http){    if(JSONRpcClient.http_spare.length >= JSONRpcClient.http_max_spare)	delete http;    else	JSONRpcClient.http_spare.push(http);};JSONRpcClient.msxmlNames = [ "MSXML2.XMLHTTP.5.0",			     "MSXML2.XMLHTTP.4.0",			     "MSXML2.XMLHTTP.3.0",			     "MSXML2.XMLHTTP",			     "Microsoft.XMLHTTP" ];JSONRpcClient.getHTTPRequest =function JSONRpcClient_getHTTPRequest(){    /* Mozilla XMLHttpRequest */    try {	JSONRpcClient.httpObjectName = "XMLHttpRequest";	return new XMLHttpRequest();    } catch(e) {}    /* Microsoft MSXML ActiveX */    for (var i=0;i < JSONRpcClient.msxmlNames.length; i++) {	try {	    JSONRpcClient.httpObjectName = JSONRpcClient.msxmlNames[i];	    return new ActiveXObject(JSONRpcClient.msxmlNames[i]);	} catch (e) {}    }    /* None found */    JSONRpcClient.httpObjectName = null;    throw new JSONRpcClient.Exception(0, "Can't create XMLHttpRequest object");};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级av在线播放| 国产日韩欧美精品综合| 粉嫩av一区二区三区| 一区二区三区日韩精品| 国产亚洲一区二区三区四区| 欧美私模裸体表演在线观看| 国产一本一道久久香蕉| 午夜电影网一区| 一区二区欧美在线观看| 欧美国产亚洲另类动漫| 欧美岛国在线观看| 欧美浪妇xxxx高跟鞋交| 日本久久一区二区三区| 成人av动漫在线| 国产一区美女在线| 免费在线观看精品| 亚洲免费色视频| 国产精品久久久久久久浪潮网站| 欧美一级在线视频| 欧美巨大另类极品videosbest| 国产网站一区二区| 欧美日韩国产美| 色94色欧美sute亚洲线路一ni| 成人午夜免费视频| 粉嫩一区二区三区性色av| 九九在线精品视频| 一区二区三区在线免费| 国产精品国产精品国产专区不蜜 | 日本视频一区二区| 亚洲激情图片一区| 亚洲天堂中文字幕| 国产精品久久久久久久久动漫| www国产亚洲精品久久麻豆| 91精品国产综合久久香蕉的特点| 在线观看视频一区| 91久久国产最好的精华液| 色婷婷av一区二区三区大白胸 | 婷婷成人综合网| 亚洲一区二区三区四区中文字幕| 亚洲欧美一区二区不卡| 综合婷婷亚洲小说| 亚洲欧美偷拍三级| 国产欧美精品国产国产专区| 亚洲国产精品传媒在线观看| 国产精品日日摸夜夜摸av| 国产精品久久久久精k8| 亚洲日本青草视频在线怡红院| 1区2区3区国产精品| 亚洲精品高清视频在线观看| 一区二区三区**美女毛片| 午夜精品福利在线| 日本亚洲一区二区| 国产乱人伦偷精品视频不卡| 成人夜色视频网站在线观看| 色综合一区二区| 欧美性猛交xxxx乱大交退制版 | 国内精品免费**视频| 精品亚洲aⅴ乱码一区二区三区| 精品中文字幕一区二区| 国产精品一区免费视频| 99精品黄色片免费大全| 在线视频观看一区| 3d成人h动漫网站入口| 日韩片之四级片| 久久精品无码一区二区三区| 中文字幕一区二| 午夜精品在线视频一区| 麻豆成人免费电影| 成人国产精品免费观看视频| 欧美亚洲国产一区二区三区| 日韩美女视频在线| 国产精品少妇自拍| 亚洲va韩国va欧美va| 韩国成人福利片在线播放| 99视频在线观看一区三区| 欧美日韩三级一区| 久久亚洲影视婷婷| 亚洲在线一区二区三区| 国产一区二区三区不卡在线观看 | 亚洲欧洲精品成人久久奇米网| 亚洲欧美二区三区| 美女尤物国产一区| av日韩在线网站| 日韩欧美一区二区视频| 中文字幕一区二区三区精华液| 日韩av一区二| 99久久国产综合精品女不卡| 制服丝袜中文字幕一区| 国产精品灌醉下药二区| 日韩激情视频网站| 99久久免费国产| 26uuu精品一区二区| 亚洲欧美日韩国产另类专区| 国产一区二区91| 欧美绝品在线观看成人午夜影视| 国产精品免费看片| 麻豆成人久久精品二区三区红| 一道本成人在线| 亚洲18影院在线观看| 成人免费看视频| 日韩欧美另类在线| 亚洲品质自拍视频| 国产69精品久久777的优势| 91精品国产高清一区二区三区| 亚洲视频香蕉人妖| 国产成人午夜99999| 欧美一区二区三区播放老司机| 成人欧美一区二区三区视频网页| 国产乱码字幕精品高清av| 91精品国产一区二区| 亚洲乱码中文字幕| 懂色一区二区三区免费观看| 精品日产卡一卡二卡麻豆| 偷窥国产亚洲免费视频| 一本久久a久久精品亚洲| 国产日韩欧美电影| 韩国女主播成人在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 三级不卡在线观看| 欧洲国内综合视频| 亚洲男人的天堂一区二区| 国产一区二区三区免费看| 欧美tk—视频vk| 日韩国产欧美视频| 欧美午夜免费电影| 一区二区三区四区不卡在线 | 99久久国产综合色|国产精品| 国产色91在线| 国产精品小仙女| 国产偷国产偷精品高清尤物| 国产专区综合网| 久久亚洲一区二区三区明星换脸| 麻豆91在线播放| 精品日韩一区二区三区| 久久av老司机精品网站导航| 4438x成人网最大色成网站| 日韩一区精品视频| 欧美一卡二卡三卡四卡| 美女尤物国产一区| 久久午夜老司机| 成人性视频免费网站| 国产欧美日韩三级| voyeur盗摄精品| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品视频你懂的| 成人aaaa免费全部观看| 最新热久久免费视频| 一本久道久久综合中文字幕| 亚洲综合色婷婷| 9191精品国产综合久久久久久 | 国产精品一区二区三区四区| 国产午夜精品久久久久久免费视 | 成人免费三级在线| 亚洲美女免费视频| 欧美日本免费一区二区三区| 日本欧美一区二区三区| 欧美精品一区二区三区蜜桃 | 成人a区在线观看| 亚洲精品v日韩精品| 在线成人小视频| 国产在线一区观看| 亚洲日本护士毛茸茸| 欧美久久婷婷综合色| 激情深爱一区二区| 国产精品天美传媒沈樵| 欧美性大战久久久久久久蜜臀 | 亚洲韩国精品一区| 精品少妇一区二区| av中文字幕一区| 日本美女一区二区三区视频| 久久色.com| 色综合久久久久网| 久久草av在线| 亚洲视频精选在线| 日韩一区二区不卡| 成人激情文学综合网| 日韩专区中文字幕一区二区| 久久精品人人做人人综合 | 国内精品写真在线观看| 中文字幕视频一区| 日韩一区二区视频在线观看| 成人性生交大合| 丝袜国产日韩另类美女| 中文字幕av一区二区三区免费看| 欧美日韩精品一区二区三区蜜桃 | 欧美性色综合网| 国产成人免费9x9x人网站视频| 亚洲国产一区二区a毛片| 久久综合九色综合欧美98| 在线观看日韩电影| 国产伦精品一区二区三区在线观看 | 欧美成人r级一区二区三区| 99九九99九九九视频精品| 久久成人免费电影| 亚洲综合免费观看高清在线观看| 国产色一区二区| 日韩一区二区精品在线观看| 欧洲在线/亚洲| 成人性视频网站| 国内久久精品视频|