javascript调用WebService Hello World

摘要:
WebService既可以大用,也可以小用。今天我们就来看一下如何在网页中用JS来调用WebService。我们举的例子很简单,用JS调用默认VS2008生成的HelloWorld服务。Service的代码如下:usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Services;usingSystem.Web.Services.Protocols;usingSystem.Xml.Linq;namespaceBlogNet.WebService{[WebService][WebServiceBinding][ToolboxItem]//ToallowthisWebServicetobecalledfromscript,usingASP.NETAJAX,uncommentthefollowingline.//[System.Web.Script.Services.ScriptService]publicclassOpService:System.Web.Services.WebService{[WebMethod]publicstringHelloWorld(){return"HelloWorld";}}}关键部分是JS的代码,首先,我们需要下载一个webservice.htc,这个是IE中支持支持JS调用WebService的组件,我们可以在微软网站下载到。然后,在HTML中,使用CSS的behavior特性来调用该组件,如下:我们还需要把webservice返回的结果放在div的onresult事件里,如下:需要注意的是:url连接必须跟上?wsdl"完整代码如下:˂!
WebService既可以大用,也可以小用。
大用可以应用到整个系统,将整个系统设计成SOA(面向服务),小用可以应用到JS。
今天我们就来看一下如何在网页中用JS来调用WebService。
我们举的例子很简单,用 JS调用默认VS2008生成的Hello World服务。
Service的代码如下:
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Services;
usingSystem.Web.Services.Protocols;
usingSystem.Xml.Linq;
namespaceBlogNet.WebService
{
[WebService(Namespace
="http://www.cnblogs.com/davidgu/opservice")]
[WebServiceBinding(ConformsTo
=WsiProfiles.BasicProfile1_1)]
[ToolboxItem(
false)]
//ToallowthisWebServicetobecalledfromscript,usingASP.NETAJAX,uncommentthefollowingline.
//[System.Web.Script.Services.ScriptService]publicclassOpService:System.Web.Services.WebService
{
[WebMethod]
publicstringHelloWorld()
{
return"HelloWorld";
}
}
}

关键部分是JS的代码,首先,我们需要下载一个 webservice.htc,
这个是IE中支持支持JS调用WebService的组件,我们可以在微软网站下载到。
我们将这个文件放在我们网页的同一个目录。
然后,在HTML中,使用CSS的 behavior特性来调用该组件,如下:
<div ...>
我们还需要把web service返回的结果放在div的onresult事件里,如下:
<div onresult="onWebServiceResult()"></div>

需要注意的是:
url连接必须跟上?wsdl后缀,否则会报错。
"
http://localhost:1408/WebService/OpService.asmx?wsdl"

完整代码如下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="testJsCustomer.aspx.cs"Inherits="BlogNet.WebService.testJsCustomer"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>javascript调用WebService</title><scripttype="text/javascript">variCallID=null;
varsUrl="http://localhost:1408/WebService/OpService.asmx?wsdl";
functiongetHelloWorld(){
varoService=document.getElementById("service");
oService.useService(sUrl,
"WS_OpService");
iCallID
=service.WS_OpService.callService("HelloWorld");
}
/*
functioncallback(res){
//varoResult=event.result;
if(!res.error){
alert("webservicesuccess!");
}else{
alert("webserviceerror!");
}
}
*/functiononWebServiceResult(){
varoResult=window.event.result;
if(oResult.id==iCallID){
varoDiv=document.getElementById("Result");
if(oResult.error){
alert(
"Anerroroccurred:"+oResult.errorDetail.string);
}
else{
alert(
"Theresultis:"+oResult.value);
}
}
}
</script></head><body><formid="form1"runat="server"><div><divid="service"style="behavior:url(webservice.htc)"onresult="onWebServiceResult()"></div><inputtype="button"id="btnLoad"name="btnLoad"value="loadresult"
onclick
="javascript:getHelloWorld();"/><divid="Result"></div></div></form></body></html>

运行结果:
alert框弹出 "Hello World"

免责声明:文章转载自《javascript调用WebService Hello World》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇蓝桥杯-测试次数ceph cluster 部署 (cephadm)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS兼容IE6,IE7,FF的技巧

一、CSS HACK以下两种方法几乎能解决现今所有HACK.翻阅很多资料,已测试可以使用。 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) PLAIN TEXTCSS: #wrapper{ 100px!important; /* IE7+FF...

跳转页面的三种方式

使用header()函数 在php页面的最开头输入如下代码: <?php header(“location:http://www.yedward.net”); ?> 那么,我们命名为1.php,当访问1.php的时候,就会自动跳转到www.yedward.net页面,这里需要强调的是,使用该种方法,必须要将这行代码写在最前面,如果不想写在前...

window.open参数和技巧

【1、最基本的弹出窗口代码】      <SCRIPT LANGUAGE="javascript">   <!--   window.open ('page.html')   -->   </SCRIPT>      因为着是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAG...

10种顶级javascript框架比较The Top 10 Javascript MVC Frameworks

转载于:http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember...

在线浏览PDF文件的实用jquery插件推荐(转)

在web开发当中我们经常需要进行需要在线浏览PDf内容,在线嵌入动态pdf,传统的解决方法安装客户端PDF阅读器,如果是在谷歌是可以在线浏览的,因为他自身就带了一些插件,以前遇到这样的问题往往是费时又费力,很不好解决, 今天就给大家分享一系列使用javascript实现的pdf插件效果,无需借助第三方插件就可以实现在线浏览功能,非常实用 jQuery...

javascript 设置cookie(转)

原文地址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/06/13/1757658.html 设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie="userId=828";如果要一次存储多个名/值对,可以...