用javascript调用.net webservices实例
用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>