天天看点

JS直接访问WebService(来自于网络)

直接上代码

var URL = "http://localhost:2242/Test/WS.asmx";                     

          //在这处我们拼接   

         var data;   

         data = '<?xml version="1.0" encoding="utf-8"?>';           

         data = data + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">';  

         data = data + '<soap12:Body>';    

         data = data + '<GetUpdateTime xmlns="http://tempuri.org/" />';     

         data = data + '</soap12:Body>';         

         data = data + '</soap12:Envelope>';                  

         //创建异步对象      

         var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");          

       xmlhttp.Open("POST", URL, false);           

       xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");    

       xmlhttp.Send(data);         

       alert(xmlhttp.responseText);

不过有个问题,返回数据的类型是这样子滴:

<?xml version="1.0" encoding="utf-8" ?>

  <string xmlns="http://tempuri.org/">20111212164723592</string>

想直接调取里面的这个返回串,需要自己想办法了。最笨的方法就是在WEBSERVICE中给返回值前后加一个符号,比如'$'

这样JS端可以通过这两个所在String中的Index截取出来中间这串,真的是个笨方法哦