📄 xmlhttp.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 + "¶m=" + encodeURI(paraArray[i]);
url = url + "¶m=" + 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 + -