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

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

?? jsonrpc.js

?? 一個用java實現的簡易購物網站。使用的Mysql作為數據庫。
?? 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一区二区三区免费野_久草精品视频
欧美电影精品一区二区| 一区二区三区成人| 国产精品麻豆99久久久久久| 欧美激情一区二区三区全黄| 一区二区三区加勒比av| 久久国产乱子精品免费女| 性欧美疯狂xxxxbbbb| 国产美女av一区二区三区| 9l国产精品久久久久麻豆| 欧美日本高清视频在线观看| 久久天天做天天爱综合色| 亚洲精品高清在线观看| 精品中文字幕一区二区小辣椒| 蜜乳av一区二区| 色哟哟一区二区在线观看| 欧美一激情一区二区三区| 国产精品不卡在线| 麻豆精品新av中文字幕| 91精品国产麻豆| 国产亚洲成年网址在线观看| 日本中文字幕一区| 精品视频资源站| 一区二区三区 在线观看视频| 成人美女在线视频| 国产欧美精品一区二区三区四区 | 亚洲激情自拍视频| 成人理论电影网| 国产日韩欧美不卡| 国产麻豆精品在线观看| 制服丝袜av成人在线看| 日本网站在线观看一区二区三区 | 男人的天堂亚洲一区| 欧美日韩精品一区视频| 国产精品一区二区视频| 久久这里都是精品| 韩国av一区二区| 久久久激情视频| 国产精品亚洲一区二区三区妖精| 亚洲精品一区二区三区四区高清 | 亚洲三级在线播放| 91天堂素人约啪| 亚洲一区在线播放| 欧美精品丝袜中出| 久久99精品国产麻豆婷婷洗澡| 91麻豆精品国产综合久久久久久| 日韩av一级片| 久久综合丝袜日本网| 高清在线成人网| 亚洲日本欧美天堂| 欧美日韩国产a| 蜜乳av一区二区| 亚洲国产岛国毛片在线| 97久久久精品综合88久久| 亚洲午夜激情网页| 精品国产自在久精品国产| 国产精品888| 亚洲美女屁股眼交| 91精品国产欧美一区二区| 精品一区二区国语对白| 中文字幕亚洲成人| 欧美男同性恋视频网站| 国产一区二区三区四区五区美女| 国产精品久线在线观看| 欧美三级中文字幕| 91.com在线观看| 国产一区二区三区视频在线播放| 国产精品久久久久影院亚瑟| 欧美日韩在线三级| 国产福利一区二区三区视频| 一区二区在线电影| 欧美一级片在线| 91在线视频播放地址| 日本特黄久久久高潮| 国产精品短视频| 欧美一区二区三区视频在线| 大白屁股一区二区视频| 午夜电影久久久| 国产精品久久久久7777按摩| 欧美一级二级三级乱码| 99re免费视频精品全部| 久久99在线观看| 亚洲一线二线三线久久久| 久久久久久久久久久久久女国产乱| 91久久免费观看| 国产成人啪免费观看软件| 丝袜美腿一区二区三区| 最新热久久免费视频| 欧美大胆一级视频| 欧美色窝79yyyycom| 国产91在线观看| 久88久久88久久久| 日韩国产成人精品| 一区二区三区免费在线观看| 国产欧美日韩另类视频免费观看| 欧美精品99久久久**| 色综合久久综合网欧美综合网 | 亚洲日本va在线观看| 久久久久综合网| 日韩免费一区二区三区在线播放| 色综合久久综合中文综合网| 国产成人综合网站| 捆绑紧缚一区二区三区视频| 午夜精品视频在线观看| 一区二区三区.www| 最新成人av在线| 欧美国产激情一区二区三区蜜月 | 欧美在线free| 成人免费看视频| 国产精品一区二区在线观看网站| 男人的j进女人的j一区| 秋霞电影网一区二区| 亚洲第一会所有码转帖| 一区二区三区资源| 亚洲综合在线观看视频| 亚洲欧美自拍偷拍| 亚洲人成伊人成综合网小说| 国产精品丝袜91| 亚洲国产高清不卡| 亚洲特级片在线| 一区二区三区鲁丝不卡| 亚洲综合区在线| 亚洲高清免费在线| 青青国产91久久久久久| 欧美aaaaa成人免费观看视频| 日本一区中文字幕| 蜜臀久久99精品久久久画质超高清| 日韩精品欧美精品| 狠狠网亚洲精品| 国产老妇另类xxxxx| 成人精品电影在线观看| 91香蕉视频mp4| 欧美三级电影网| 日韩亚洲欧美中文三级| 国产无遮挡一区二区三区毛片日本| 国产喂奶挤奶一区二区三区| 日韩一区有码在线| 亚洲午夜精品一区二区三区他趣| 丝袜美腿高跟呻吟高潮一区| 九九精品视频在线看| 高清成人免费视频| 色婷婷综合中文久久一本| 欧美日韩综合一区| 精品三级在线看| 亚洲欧洲精品一区二区三区不卡| 亚洲另类春色国产| 麻豆精品视频在线观看视频| 成人在线综合网站| 精品视频在线看| 久久久99精品久久| 亚洲一区二区成人在线观看| 久久99在线观看| 色婷婷综合久久久久中文一区二区| 欧美日韩视频专区在线播放| 久久综合成人精品亚洲另类欧美 | 一区二区三区高清不卡| 美女高潮久久久| 色又黄又爽网站www久久| 欧美一区二区视频免费观看| 蜜臀va亚洲va欧美va天堂| 白白色亚洲国产精品| 欧美一区二区三区小说| 亚洲日本乱码在线观看| 国内成人免费视频| 欧美日韩精品电影| 国产精品午夜春色av| 欧美aaaaaa午夜精品| 欧美中文一区二区三区| 久久久九九九九| 天天影视网天天综合色在线播放| 成人免费福利片| 欧美不卡一区二区三区四区| 曰韩精品一区二区| 成人综合在线观看| 久久老女人爱爱| 男男视频亚洲欧美| 欧美体内she精视频| 国产精品国产三级国产aⅴ入口| 美女一区二区在线观看| 欧美曰成人黄网| 亚洲欧美日韩国产综合| 国产成人精品一区二区三区网站观看| 欧美日韩在线综合| 一区二区三区在线视频免费观看| 国产精华液一区二区三区| 日韩免费一区二区| 免费成人在线网站| 在线综合视频播放| 亚洲1区2区3区4区| 欧美性生活大片视频| 亚洲黄一区二区三区| 色综合欧美在线视频区| 最新热久久免费视频| 成人av网站大全| 国产精品理论片| 99精品久久只有精品| 国产精品乱人伦中文| 国产91精品一区二区麻豆网站| 久久亚洲二区三区| 国产高清久久久| 国产精品天天摸av网|