如何在javascript中调用ASP.NETWeb服务

如何在javascript中调用ASP.NETWeb服务,javascript,asp.net,web-services,Javascript,Asp.net,Web Services,正如标题所述,我试图从javascript调用一个用ASP.Net编写的web服务(相同的解决方案,但在VisualStudio中是不同的项目)。由于我在VB.Net中调用该服务之前添加了该服务的web引用,因此我尝试通过直接调用它来使用该引用 在Default.aspx页面的主体中,我有以下代码: <asp:ScriptManager id="ScriptManager1" runat="server"> <Services> <asp:ServiceRefere

正如标题所述,我试图从javascript调用一个用ASP.Net编写的web服务(相同的解决方案,但在VisualStudio中是不同的项目)。由于我在VB.Net中调用该服务之前添加了该服务的web引用,因此我尝试通过直接调用它来使用该引用

在Default.aspx页面的主体中,我有以下代码:

<asp:ScriptManager id="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/App_WebReferences/localhost/ServiceName.discomap" InlineScript="true" />
</Services>
</asp:ScriptManager>

但在javascript中,我根本无法调用我的服务。谁能告诉我怎么做?我想这样做:

<script type="text/javascript">
 alert(ServiceName.HelloWorld())
</script>

警报(ServiceName.HelloWorld())

终于找到了我认为正确的方法,它根本不需要jQuery,也不需要httprequest或任何奇怪的解决方法。以下是相关代码:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!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 runat="server">
    <script src="WebService.asmx/js" type="text/javascript"></script>
    <script type="text/javascript">
        function callback(msg) {
            alert(msg);
        };

        function HelloWorld() {
            WebService.HelloWorld(callback);
        };
    </script>
    <title></title>
</head>
<body>
    <div id="test" onclick="HelloWorld();">
        click this
    </div>

    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
      <Services>
        <asp:ServiceReference Path="~/WebService.asmx" />
      </Services>
    </asp:ScriptManager>
    </form>
</body>
</html>

函数回调(msg){
警报(msg);
};
函数HelloWorld(){
HelloWorld(回调);
};
点击这个

重复问题,如下所示这是Ajax的一个主要功能。任何Ajax工具都可以帮助您进行web服务调用并处理结果。您好,我尝试按照您的解决方案使用javascript在ASP.NET中调用web服务。但我失败了。你能在这里给我一些建议吗(非常感谢):