天天看點

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截取出來中間這串,真的是個笨方法哦