JS调用webservice的通用函数
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 ) { alert( xmlhttp.responseText ); h.innerHTML = xmlhttp.responseText; //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(); } } //send Request By HTTP POST 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( "POST", 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 ); alert( data ); } //CallHelloWorld! function SayHello_onclick() { //alert(document.getElementById('YourName').value); RequestByPost( "HelloWorld", new Array( "msg" ), new Array( document.getElementById( 'YourName' ).value ), "WebService.asmx", "localhost/" ); } //WeatherReport Test: function Button2_onclick() { RequestByPost( "getWeatherbyCityName", new Array( "theCityName" ), new Array( document.getElementById( 'CityName' ).value ), "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx", "http://WebXml.com.cn/" ); }
联盟快卖 商人,生意人,待创业人士在此可以共赢互利 期待你的加入 群号:140809277
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗