1 使用webservice.htc的限制: | |||||||||||||
1>要想使用webservice行为组件访问webservice必须保证包含组件的页面和webservice在相同的域中,对于远程服务可以建立本地的中转代理webservice实现。 | |||||||||||||
2>webservice行为组件支持.net中的基本数据类型及其数组,但是用于DataSet自定义类等不提供直接支持,如果使用可以做相应的转化。 | |||||||||||||
3>保证浏览器是IE5.0或者以上版本。 | |||||||||||||
2 使用步骤 | |||||||||||||
1>先从微软网站上下载webservice.htc, | |||||||||||||
2>把webservice行为组件帮定到一个html元素。 | |||||||||||||
3>用webservice行为组件的useService提供webservice的地址。 | |||||||||||||
4>用webservice行为组件的callService访问webmethod。 | |||||||||||||
3 建立webservice | |||||||||||||
4 webservice.htc之事件处理器 | |||||||||||||
<html> | |||||||||||||
<title> | |||||||||||||
Call webservice with javascript and webservice.htc-事件处理器 | |||||||||||||
</title> | |||||||||||||
<body οnlοad="BindService('zzq')"> | |||||||||||||
<script language="javascript"> | |||||||||||||
function BindService(name){ | |||||||||||||
service.useService("http://localhost:1323/WebSite6/Service.asmx?WSDL","Service"); | |||||||||||||
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 οnlοad="BindService('zzq')"> | |||||||||||||
<script language="javascript"> | |||||||||||||
function BindService(name){ | |||||||||||||
service.useService("http://localhost:1323/WebSite6/Service.asmx?WSDL","Service"); | |||||||||||||
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)"></div> | |||||||||||||
</body> | |||||||||||||
</html> | |||||||||||||
6 其他 | |||||||||||||
使用webservice.htc返回的是标准的xml文档,所以从理论上来说任何复杂的结果都可以通过解析xml文档来得到需要的结果。对于从数据库中返回的记录可以做转化变成字符串数据的形式返回,在js中可以直接获取,var myArray=new Array(); myArray=result.value。使用webservice.htc+setInserval可以实现局部刷新,也就是不用刷新整个页面就可以实现局部定时更新的效果。 |
webservice.htc技术备忘
最新推荐文章于 2022-10-12 23:41:15 发布