使用webservice行為組件(webservice.htc) 調用webservice

來源:互聯網
上載者:User

1 使用webservice.htc的限制:
 1>要想使用webservice行為組件訪問webservice必須保證包含組件的頁面和webservice在相同的域中,對於遠程服務可以建立本地的中轉代理webservice實現。
  2>webservice行為組件支援.net中的基礎資料型別 (Elementary Data Type)及其數組,但是用於DataSet自訂類等不提供直接支援,如果使用可以做相應的轉化。
  3>保證瀏覽器是IE5.0或者以上版本。
 
2 使用步驟
 1>先從微軟網站上下載webservice.htc,
 2>把webservice行為組件幫定到一個html元素。
 3>用webservice行為組件的useService提供webservice的地址。
 4>用webservice行為組件的callService訪問webmethod。

3 建立webservice,繼續使用以前的http://netboy.cnblogs.com/archive/2006/02/18/333260.html

4 webservice.htc之事件處理器
<html>
<title>
Call webservice with javascript and webservice.htc-事件處理器
</title>
<body onload="BindService('zzq')">
<script language="javascript">

function BindService(name){
//service.useService({webservice location},{webservice class name})
service.useService("http://localhost:1323/WebSite6/Service.asmx?WSDL","Service");
//service.Service.callService({webmethod},{input parameters needed})
service.Service.callService("SayHelloTo",name);
}

function ShowResult()
{
 if (event.result.error)
 {
  document.write(event.result.errorDetail.string);
 }
 else
 {
  document.write(event.result.value);
 }
}

</script>
<div id="service" style="behavior:url(webservice.htc)" onresult="ShowResult()"></div>
</body>
</html>

5 webservice.htc之回呼函數
<html>
<title>
Call webservice with javascript and webservice.htc-回呼函數
</title>
<body onload="BindService('zzq')">
<script language="javascript">

function BindService(name){
service.useService("http://localhost:1323/WebSite6/Service.asmx?WSDL","Service");
//callService({callBackFunction},{webmethod},{input parameters needed})
service.Service.callService(callback,"SayHelloTo",name);
}

function callback(res){
if (!res.error)
document.write(res.value);
}
</script>
<div id="service" style="behavior:url(webservice.htc)" onresult="ShowResult()"></div>
 </body>
</html>

6 其他
使用webservice.htc返回的是標準的xml文檔,所以從理論上來說任何複雜的結果都可以通過解析xml文檔來得到需要的結果。對於從資料庫中返回的
記錄可以做轉化變成字串資料的形式返回,在js中可以直接擷取,var myArray=new Array(); myArray=result.value.剩下的你想怎麼做就怎麼做了。
使用webservice.htc+setInserval可以實現局部重新整理,也就是不用重新整理整個頁面就可以實現局部定時更新的效果。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.