|
我看了一篇关于,浏览器中用JS调用WebService的文章。其中,说了两种浏览调用的不同条件和限制。以下分享下学习成果: 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 (责任编辑:泠云) |
