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

📄 xmlhttp.js

📁 管理公司合同
💻 JS
字号:
/**
 * Script XML Http Service
 * Use XML to invoke a remote method
 * @author yehailong
 */
function test1(){
	alert('11');
} 
function xmlhttp(url){

    var xh = new ActiveXObject("MSXML2.XMLHTTP");
    xh.open("get",url,false);
    xh.setRequestHeader("Content-Type","gb2312");
    xh.send();

    if(xh.readyState == 4){
      	return xh.responseText;
       // resultDiv.innerHTML = xh.responseText;
    }

}

/** xmlhttp servlet*/
var xmlHttpURI = "/e-hr/XmlHttp";

/**
 * Use javascript to invoke a remote method .
 * The invoked method can have a return value,
 * but when the method has return value the value must be a array of String?String[]??
 * 
 * HOW TO USE:
 *    var response = new methodInvoke(param0[,param1[,param2][,...]]);
 * PARAMETERS SPICIFICATION:
 *    param0 : NEED
 *             Indicate the class name.
 *    param1...paramN : YOUR CHOICE
 *             Decided by the method your invoked. 
 *             Have the same sequence with the method you invoked.
 * RETURN VALUE:
 *    Decided by the method your invoke(a array of string).
 * example:
 *    var response = new methodInvoke("gyywService.queryDBMethod","zhangfei","20050905");
 */
function methodInvoke(){
	var params = new Array(methodInvoke.arguments.length);
	
	for(var i=0 ; i<methodInvoke.arguments.length;i++){
		params[i] = methodInvoke.arguments[i];
	}

	var url = buildURL(params);
	var doc = URLRequest(url);
	var response = parseResponse(doc);
	if(response != null){
		for(var i=0 ; i<response.length;i++){
			this[i] = response[i];
		}
	}
}

/**
 * Use javascript to invoke a remote method which is configured in Spring FrameWork .
 * The invoked method can have a return value,
 * but when the method has return value the value must be a string(xml string) or a xml Document(dom4j)
 * 
 * HOW TO USE:
 *    var xmldoc = new XMLDocRMI(param0[,param1[,param2][,...]]);
 * PARAMETERS SPICIFICATION:
 *    param0 : NEED
 *             Indicate the service name and the method name which are separated by ".".
 *    param1...paramN : YOUR CHOICE
 *             Decided by the method your invoked. 
 *             Have the same sequence with the method you invoked.
 * RETURN VALUE:
 *    a "ActiveXObject("MSXML2.DOMDocument")" object as the method returned
 * example:
 *    var xmldoc = new XMLDocRMI("gyywService.queryDBMethod","zhangfei","20050905");
 */
function XMLDocRMI(){

	var params = new Array(XMLDocRMI.arguments.length);
	
	for(var i=0 ; i<XMLDocRMI.arguments.length;i++){
		params[i] = XMLDocRMI.arguments[i];
	}

	var url = buildURL(params);
	var xmldoc = URLRequest(url);
	return xmldoc;
	
	/**
	*解析服务器端返回的xml
	var node = xmldoc.selectSingleNode("/aaa/size");
	alert(node.text);
	var size = 0;
	if(node != null){
    	size = eval(node.text);
    }
    
    
    for(var i=0;i<size;i++){
    	node = xmldoc.selectSingleNode("/aaa/Order[@id='000"+(i+1)+"']/Account");
    	if(node != null)
    		alert(node.text);
    }
    */
}

function buildURL(paraArray){
	var url = xmlHttpURI;
	if(paraArray.length<2){
		return false;
	}
	url += "?serviceName="+paraArray[0]+"&methodName="+paraArray[1];
	for(var i=2; i<paraArray.length;i++){
		//默认情况下tomcat的get方法传递参数是采用ISO-8859-1编码,需要做encodeURI编码
		//或者给tomcat的配置文件server.xml文件中给Connector节点设置URIEncoding="GBK"
		//url = url + "&param=" + encodeURI(paraArray[i]);
		url = url + "&param=" + paraArray[i];
	}
	return url;
}

function URLRequest(url){
	var xmldoc = new ActiveXObject("MSXML2.DOMDocument");
	xmldoc.async=false;
	xmldoc.load(url);
	var err = xmldoc.parseError;
	if(err.errorCode!=0){
		return null;
	}else{
		return xmldoc;
	}
}

function parseResponse(xmldoc){
	if(xmldoc==null){
		return null;
	}else{
	
		var node = xmldoc.selectSingleNode("/response/size");
		var size = 0;
		if(node != null){
	    	size = eval(node.text);
	    }
	    
	    if(size == 0) 	return null;
	    	
	    var response = new Array(size);
	    	
	    for(var i=0;i<size;i++){
	    	node = xmldoc.selectSingleNode("/response/infor[@id='"+i+"']");
	    	if(node != null)
	    		response[i] = node.text;
	    }
	    
	    return response;
	}
}

function sendXMLRequest(url,xmldoc){
	req = new ActiveXObject("MSXML2.XMLHTTP");   
    req.open("POST", url, false);
	req.send(xmldoc);
}

function uploadXml(xml,fileName){

	var xmldoc = new ActiveXObject("MSXML2.DOMDocument");
	xmldoc.async=false;
    xmldoc.loadXML(xml);
    
    var url = xmlHttpURI+"?mode=upload&fileName="+fileName;
	sendXMLRequest(url,xmldoc);
}

⌨️ 快捷键说明

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