簡體   English   中英

如何調用WebService客戶端?

[英]How to call WebService client-side?

我正在嘗試使用javascript從客戶端訪問webservice。 我已經成功創建了webservice。 我已成功在網站項目中使用它,但它是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。

我找到了答案。 我應該在web服務名之前使用命名空間

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

這是Website項目和Web應用程序項目之間的區別。

您可以使用JQuery的AJAX功能來訪問Web服務。 它易於使用且功能強大。

之前在stackoverflow.com上已經回答了類似的問題。 這是一個供您查看的鏈接。

jquery ajax得到例子

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM