HTML教程 CSS教程 DHTML教程 Dreamweaver FrontPagesJavascript 正则表达式专题
返回首页

IE 和火狐浏览器中用JS调用WebService

时间:2010-07-06 08:51来源: 作者:编程狂 点击:
我看了一篇关于,浏览器中用JS调用WebService的文章。其中,说了两种浏览调用的不同条件和限制。以下分享下学习成果: !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR

  我看了一篇关于,浏览器中用JS调用WebService的文章。其中,说了两种浏览调用的不同条件和限制。以下分享下学习成果:

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <title>ASP.NET AJAX</title>

  <script language="javascript" type="text/javascript">

  function callService(f)

  {

  document.getElementById("c").innerHTML="";

  try

  {

  WebService.useService("MathService.asmx?WSDL","MathService");

  WebService.MathService.callService(callComplete,"DivideNumbers",parseInt(f.elements["a"].value),parseInt(f.elements["b"].value));

copyright lyttzx.com



  }

  catch(e)

  {

  try

  {

  var soapcall=new SOAPCall();

  soapcall.actionURI="http:hauser-wenz.de/AspnetAjax/DivideNumbers";

  soapcall.transportURI="http://localhost:11234/AJAXEnbledWebsite1/Mathservice.asmx";

  var p1=new SOAPParameter(parseInt(f.elements["a"].value),"a");

  var p1=new SOAPParameter(parseInt(f.elements["a"].value),"a");

  var senc=new SOAPEncoding();

  assenc=senc.getAssociatedEncoding("http://schemas.xmlsoap.org/soap/encoding",false);

  var scoll=assenc.schemaCollection;

  var stype=scoll.getType("integer","http://www.w3.org/2001/XMLSchema");

  p1.schemaType=stype;

  p2.schemaType=stype;

  soapcall.encode(0,"DivideNumbers","http:hauser-wenz.de/AspnetAjax/",0,new Array(),2,new Array(p1,p2)); lyttzx.com

  soapcall.asyncInvoke(callComplete);

  }

  catch(e)

  {

  window.alert("Your browser is not supported.");

  }

  }

  }

  function callComplete(result,soapcall,status)

  {

  if(result.valueOf!=null)

  {

  document.getElementById("c").innerHTML=result.value;

  }

  else{

  document.getElementById("c").innerHTML=result.body.firstChild.firstChild.firstChild.data;

  }

  }

  </script>

  </head>

  <body>

  <div id ="webService" style="behavior:url(webservice.htc);"></div>

  <form method="post" onsubmit="return false;"> copyright lyttzx.com

  <div>

  <nobr>

  <input type="text" id="a" name="a" size="2" />

  :

  <input type="text" id="b" name="b" size="2" />

  =<span id="c" style="width:50px;">

  </span>

  </nobr>

  <br>

  <input type="button" value="Divide Numbers" onclick="callService(this.form);" />

  </div>

  </form>

  </body>

  </html>

  上面代码是IE 和FIREFOX都通用的,至于想调用的WebService是可以替换地址的。同时需要注意的地方是:IE中调用时,需要用到一个webservice.htc文件,这是微软实现的IE调用WebService的文件。可以到官方网站搜索即可以下载到。   泠云工作室

  ,害怕是因为不了解,让我们一起去了解一切,找到答案!

lyttzx.com

(责任编辑:泠云)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
发布者资料
编程狂 查看详细资料 发送留言 加为好友 用户等级:高级会员 注册时间:2009-10-07 08:10 最后登录:2010-09-08 15:09