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头里面的信息?