用javascript調用webservices 是項目開發當中的一項非常實用的技術。下面我們就以兩個數的加法為例說明如何使用javascript調用.net web服務。
首先有一個.net web服務,實現的功能為接收兩個參數,做加法運算,並將結果返回。
webservice實現加法的方法如下:
[WebMethod]
public double Add(double a,double b)
{
//簡單的web服務
return a+b;
}
預設的web服務是不能被javascript調用的,因為預設的web服務只支援POST方式,不支援GET方式。所以必須在web.config手動添加添加
webServices配置節點。
<webServices>
<protocols>
<add name="HttpPost" />
<add name="HttpGet" />
</protocols>
</webServices>
web服務建立好並進行正確的配置就可以用JAVASCRIPT進行調用了:
<script language =javascript>
function callService()
{
//js調用背景web服務
docsubmit =new ActiveXObject("microsoft.xmldom");
docsubmit.async = false;
//取得使用者輸入值,
var a=document.getElementById ("a").value;
var b=document.getElementById ("b").value;
//指定web服務的路徑,方法和需要傳遞的參數,注意參數名一定要和webservies方法裡面的參數名一致;
docsubmit.load("http://localhost/JsCallWebService/WebService.asmx/Add?a="+a+"&b="+b);
window.document .getElementById ("res").innerText ="計算的結果是:"+docsubmit.text;
}
</script>
<div>
<span >js調用web服務</span> <br />
<input id="a" type ="text"/><br />
<input id="b" type ="text"/>
<span id="res"></span>
<input id="Button1" onclick ="callService()" type="button" value="調用web服務" />
</div>