AJAX可以调用外部Web服务功能

时间:2009-12-23 16:54:28

标签: asp.net javascript ajax web-services

    <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="WebService.asmx" />
            </Services>
   </asp:ScriptManager> 
   <script type="text/javascript">
            WebService.GetUpdate("hhh",OnComplete, OnTimeout, OnError);
    </script>

此代码工作正常,但是当我将路径更改为外部Web服务时,它会给我一个错误,类名称未定义。有人可以帮助我,谢谢 改变的是

   <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="http://mysite/WebService.asmx" />
            </Services>
   </asp:ScriptManager> 
   <script type="text/javascript">
            WebService.GetUpdate("hhh",OnComplete, OnTimeout, OnError);
    </script>

5 个答案:

答案 0 :(得分:2)

如果您可以更改Web服务实现,而不是使用Javascript进行跨域调用,您可以在Web服务中进行跨域调用,然后从客户端检索结果。

使用Javascript,据我所知,一些Javascript库(如dojo)支持此功能。以下是示例代码段。

var callee = dojox.io.windowName.send("GET", {url:"http://xyz.com/data"});
callee.addCallback(function(data){
  console.log(data);
});

答案 1 :(得分:0)

您正在尝试进行跨域调用:您无法将XMLHttpRequest调用从一个域调用到另一个域。

答案 2 :(得分:0)

调用本地服务器,让服务器调用外部Web服务。这是允许的。

答案 3 :(得分:0)

使用本地Web服务调用外部Web服务,然后使用javascript调用本地函数,然后解决问题

答案 4 :(得分:-1)

您只能使用ServiceReference

引用同一域中的Web服务