如何使用javascript调用webservice

时间:2011-02-23 06:59:40

标签: javascript web-services html-components

我使用下面的代码使用javascript调用webservice:

<head>
    <title>Untitled Page</title>
       <script type="text/javascript" language="JavaScript">
      service = document.getElementById("ViewLink");

     function InitializeService(){
      service.useService('http://myURL/cloudtalk/cloudservice.asmx?wsdl',"CloudService");
     }
     var regtype, regvalue;
     function registerUser(){
      regtype = document.getElementById("Text1").value;
      regvalue =document.getElementById("Text2").value;

      service.CloudService.callService("register", regtype, regvalue);
     }
     function ShowResult(){
    alert(event.result.value);
      }
     </script>
</head>
<body  onload="InitializeService()" id="service" >
<a id="ViewLink"   href="http://"  onclick="registerUser()"  style="behavior:url(webservice.htc);" onresult="onmyresult();"> <font color=maroon>Call</font></a>
  <input id="Text1" type="text" />
        <input id="Text2" type="text" />
        <input id="Button1" type="button" value="Save" onclick="registerUser();" />     
</body>

但我收到错误:“网址无效,无法加载”

我在以下网址的帮助下完成了上述代码,但我检查了这些网址中的两个示例都无法正常工作:

http://www.codeproject.com/KB/webservices/callWebServiceUsingJS.aspx

http://www.codeproject.com/KB/webservices/CallWebServiceFromHtml.aspx

注意:我的网络服务是实时的,我可以使用asp.net使用它,但我在javascript中使用它时遇到了问题。

请帮帮我。 感谢

1 个答案:

答案 0 :(得分:5)

如果Web服务URL具有与提供HTML页面的主机不同的主机(通过域名或端口),则您的JavaScript违反了same origin policy,并且任何浏览器都将阻止来自负荷。