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

📄 engine.js

📁 一个简单的java邮件系统源码
💻 JS
字号:
EasyAjax=function(){};
EasyAjax._defaultPath="ejf/easyajax";
EasyAjax.DEBUG=false;
EasyAjax.preHook=null;
EasyAjax.postHook=null;
EasyAjax._randomId=function()
{
var random = Math.floor(Math.random() * 10001);
var id = (random + "_" + new Date().getTime()).toString();
return id;
}
EasyAjax._execute=function(scriptName,method,paraTypes)
{
 var args = [];
  for (var i = 0; i < arguments.length -3; i++) {
    args[i] = arguments[i + 3];
  }
  
  var params,callData,paras="";
  var lastArg = args[args.length - 1]; 
  if (typeof lastArg == "function") {
   //最后一个参数是否为回调函数 
    callData = { callback:args.pop() };
    params = args;
  }
  else if (lastArg != null && typeof lastArg == "object" && lastArg.callback != null && typeof lastArg.callback == "function") {
  //最后一个参数是回调对象
    callData = args.pop();
    params = args;
  } 
  else
  {
	callData={callback:function(){}};
  	params=args;   
	}
  for(var i=0;i<params.length;i++)
  {
	paras+=EasyAjax.parseParameter(i,params[i]);
  } 
  if(paraTypes!=null){
  for(var i=0;i<paraTypes.length;i++)
  {
  if(paraTypes[i]!=null)
  paras+="ajax-call-p"+i+".java-type="+paraTypes[i]+"&";
  }}  

 if(paras)paras=paras.replace(/%/g,"%25");//处理特殊字符% 
 var remoteCallId=EasyAjax._randomId();
 EasyAjax.currentCallId=remoteCallId;
 if(EasyAjax.DEBUG)alert(paras);  
 if(EasyAjax.preHook)EasyAjax.preHook();
 var myAjax = new Ajax.Request(EasyAjax._defaultPath+"/ajaxCall",{
						evalScripts:true, 						
						method:"post",
						parameters:"scriptName="+scriptName+"&methodName="+method+"&remoteCallId="+remoteCallId+"&"+paras,
						onComplete:function(data)
{
if(EasyAjax.postHook)EasyAjax.postHook();
if(EasyAjax.DEBUG)alert(data.responseText);
try{
var s="EasyAjax._response("+data.responseText+",callData.callback);";
eval(s);
}
catch(e)
{
}
}						
});
}
EasyAjax._response=function(result,callback)
{
try{
if(!result.error)
{
if(EasyAjax.currentCallId==result.remoteCallId)
callback(result.obj);
}
else
{
alert(result.obj);
}
}
catch(e)
{
alert(e);
}
}
EasyAjax.parseParameter=function(index,obj)
{
var s="";
var prex=null;
var propertyPrex="ajax-call-p"+index;
if(obj==null)return propertyPrex+".value=null&";
if(arguments.length>2)prex=arguments[2];
if(typeof obj=="object"){
if(obj.constructor==Array)
{
s+=propertyPrex+".value=[";
for(var i=0;i<obj.length;i++)
{
s+=this._paraseJSon2String(obj[i]);
if(i<obj.length-1)s+=",";
}
s+="]";
}
else{
for(property in obj)
{
if((typeof obj[property])!="object")
{s+=propertyPrex+(prex==null?"":"."+prex)+"."+property+"="+obj[property]+"&";
}
else s+=this.parseParameter(index,obj[property],prex==null?property:prex+"."+property);
}
}
}
else s=propertyPrex+".value="+obj;
s+="&";
return s;
}

EasyAjax._paraseJSon2String=function(obj)
{
if(obj==null)return null;
if(typeof obj=="object")
{
if(obj.constructor==Array)
{
var s="[";
for(var i=0;i<obj.length;i++)
{
s+=this._paraseJSon2String(obj[i]);
if(i<obj.length-1)s+=",";
}
s+="]";
return s;
}
else
{
var s="{";
for(p in obj)
{
s+=p+"="+this._paraseJSon2String(obj[p])+",";
}
//s=s.substring(0,s.length()-1);
s+="}";
return s;
}
}
else
return obj;
}
EasyAjax.setPreHook=function(hook)
{
EasyAjax.preHook=hook;
}
EasyAjax.setPostHook=function(hook)
{
EasyAjax.postHook=hook;
}
EasyAjax.useLoadingMessage = function(message) {
  var loadingMessage;
  if (message) loadingMessage = message;
  else loadingMessage = "Loading";
  EasyAjax.setPreHook(function() {
    var disabledZone = $('disabledZone');
    if (!disabledZone) {
      disabledZone = document.createElement('div');
      disabledZone.setAttribute('id', 'disabledZone');
      disabledZone.style.position = "absolute";
      disabledZone.style.zIndex = "1000";
      disabledZone.style.left = "0px";
      disabledZone.style.top = "0px";
      disabledZone.style.width = "100%";
      disabledZone.style.height = "100%";
      document.body.appendChild(disabledZone);
      var messageZone = document.createElement('div');
      messageZone.setAttribute('id', 'messageZone');
      messageZone.style.position = "absolute";
      messageZone.style.top = "0px";
      messageZone.style.right = "0px";
      messageZone.style.background = "red";
      messageZone.style.color = "white";
      messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
      messageZone.style.padding = "4px";
      disabledZone.appendChild(messageZone);
      var text = document.createTextNode(loadingMessage);
      messageZone.appendChild(text);
    }
    else {
      $('messageZone').innerHTML = loadingMessage;
      disabledZone.style.visibility = 'visible';
    }
  });
EasyAjax.setPostHook(function() {
    $('disabledZone').style.visibility = 'hidden';
  });
};

⌨️ 快捷键说明

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