【问题标题】:How to call WebService client-side?如何调用WebService客户端?
【发布时间】:2013-04-18 15:07:02
【问题描述】:

我正在尝试使用 javascript 从客户端访问 web 服务。我已经成功创建了 web 服务。我已经在网站项目中成功使用过,但它是Web应用程序项目。

这是我的 HTML 代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script type="text/javascript">
        function Test() {
            WebService1.HelloWorld(onS, onF);
        }
        function onS(r) { alert("Result"); }
        function onF(er) { alert("Error"); }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference InlineScript="true" Path="~/WebService1.asmx"/>
            </Services>
        </asp:ScriptManager>
        <input type="button" value="Call Service" onclick="Test()" />
    </div>
    </form>
</body>
</html>

这是WebService代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace TestWebService
{
    /// <summary>
    /// Summary description for WebService1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

现在这段代码不工作了。

我正在使用框架 3.5 和 VS2012。

【问题讨论】:

    标签: c# asp.net web-services web-applications client-side


    【解决方案1】:

    您可以使用 JQuery 的 AJAX 功能来访问 Web 服务。它易于使用且功能强大。

    以前在 stackoverflow.com 上已经回答了类似的问题。这是一个链接供您查看。

    jquery ajax get example

    祝你好运!

    【讨论】:

      【解决方案2】:

      我找到了答案。我应该像这样在网络服务名称之前使用命名空间

      function Test() {
          TestWebService.WebService1.HelloWorld(onS, onF);
      }
      

      这是网站项目和网络应用项目的区别。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 2015-01-03
        • 2017-07-28
        • 1970-01-01
        相关资源
        最近更新 更多