// <!CDATA[ //define var xmlhttp; var value = new Array(); var variable = new Array(); //Show Response MSG. function handleStateChange() { var h = document.getElementById("Label1"); if(xmlhttp.readyState==4) { if(xmlhttp.status==200) { var doc = new ActiveXObject("Microsoft.XMLDOM"); doc.load(xmlhttp.responseXML); var items = doc.getElementsByTagName("soap:Body"); var results = items[0].nodeTypedValue; if (results != "失败") { alert("操作成功"); } //h.innerHTML=xmlhttp.responseXML; } else if(xmlhttp.status==404) { h.innerHTML="<br>找不到请求的服务器资源!"; } } else if(xmlhttp.readyState==0) { h.innerHTML="<br>未初始化!"; } else if(xmlhttp.readyState==1) { h.innerHTML="<br>正在加载……!"; } else if(xmlhttp.readyState==2) { h.innerHTML="<br>已经加载完成!"; } else if(xmlhttp.readyState==3) { h.innerHTML="<br>正在和服务器交互"; } else { h.innerHTML=xmlhttp.responseXML; } } //Get Request Data's length function getlen(str) { var bytesCount = 0; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); if (/^[/u0000-/u00ff]$/.test(c)) //匹配双字节 { bytesCount += 1; } else { bytesCount += 2; } } return bytesCount; } //Create XMLHttpRequest Object function createXMLHttpRequest() { if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequst) { xmlhttp = new XMLHttpRequest(); } } function RequestByPost(method, variable, value, url, _Namespace) { createXMLHttpRequest(); var data; data = '<?xml version="1.0" encoding="utf-8"?>'; data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'; data = data + '<soap:Body>'; data = data + '<' + method + ' xmlns="' + _Namespace + '">'; for (var i = 0; i < variable.length; i++) { data = data + '<' + variable[i] + '>' + value[i] + '</' + variable[i] + '>'; } data = data + '</' + method + '>'; data = data + '</soap:Body>'; data = data + '</soap:Envelope>'; xmlhttp.onreadystatechange = handleStateChange; xmlhttp.Open("GET", url, true); xmlhttp.SetRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlhttp.SetRequestHeader("Content-Length", getlen(data)); xmlhttp.SetRequestHeader("SOAPAction", _Namespace + method); xmlhttp.Send(data); } //CallHelloWorld! function ktzh() { RequestByPost("addUser", new Array("myGroup"), new Array(kdz.toString()), "../../../webservice.asmx", "http://tempuri.org/"); } } // ]]> RequestByPost参数: 1.方法名 String 2.参数列表 Array 3.带入的参数列表 Array 4.WebService的Url String 5.命名空间 String