web service006——第三种方式调用,通过Ajax方式访问(跨域)http请求xml数据

Posted 江州益彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web service006——第三种方式调用,通过Ajax方式访问(跨域)http请求xml数据相关的知识,希望对你有一定的参考价值。


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax方式调用webservice</title>
	<script>
		function getXMLHttpRequest(){
			var xmlhttpReq=null;
			if (window.XMLHttpRequest)
			{
			    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
			    xmlhttpReq=new XMLHttpRequest();
			}
			else
			{
				if(window.ActiveXObject){
					try{
						// IE6, IE5 浏览器执行代码
			    		xmlhttpReq=new ActiveXObject("Microsoft.XMLHTTP");
					}catch(e){
						try{
							xmlhttpReq=new ActiveXObject("Msxml2.XMLHTTP");
						}catch(e){
							
						}
					}
				}
			    
			}
			return xmlhttpReq;
		}
		
		window.onload=function(){
			document.getElementById("testAjax").onclick=function(){
				var xhr=getXMLHttpRequest();
				
				//注册回调
				xhr.onreadystatechange=function(){
					if(xhr.status==200){
						if(xhr.readyState==4){
							var data=xhr.responseXML;
							alert(data);
						}
					}
				}
				
				var dataxml='<?xml version="1.0" encoding="utf-8"?>';
				dataxml+='<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/">';
				dataxml+='<soap:Body>';
				dataxml+='<getMobileCodeInfo xmlns="http://WebXml.com.cn/">';
			    dataxml+='<mobileCode>13652853172</mobileCode>';
			    dataxml+='<userID>null</userID>';
			    dataxml+='</getMobileCodeInfo>';
				dataxml+=' </soap:Body>';
				dataxml+='</soap:Envelope>';
				alert(dataxml);
				//xhr.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
				//第二次发送post请求
				xhr.open("POST","http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx",true);
				
				xhr.send(dataxml);
				alert("000");
			}
		}
		
	</script>
</head>
<body>
	<button type="button" id="testAjax">ajax访问webservice</button>
</body>
</html>

以上是关于web service006——第三种方式调用,通过Ajax方式访问(跨域)http请求xml数据的主要内容,如果未能解决你的问题,请参考以下文章

.NET下面的web service开发,如何读取SOAP头里面的信息?

servlet跳转jsp的第三种方式

Android调用web Service

web service008——第四种方式调用,通过service调用

开发Web Service的几种方式

将S/4HANA的自定义BO功能以Web Service的方式暴露给第三方