簡體   English   中英

無法使用Javascript調用ASP.NET中的WebServices

[英]Fail to Call WebServices in ASP.NET in Javascript

我無法調用網絡服務。 我想念什么? @@

我正在嘗試按照以下說明進行操作: 如何使用javascript調用ASP.Net Web服務

以下是我的代碼,但無法正常工作。

這是我的網絡服務代碼:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

namespace Library
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService()]
    public class ReleaseSessionObject : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWord()
        {
            return "Hellow Word!";
        }
    }
}

這是我的ASP.NET頁面代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm6.aspx.cs" Inherits="Library.WebForm6" %>

<!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">
    <title></title>

</head>
<body>
    <form id="form1" runat="server">
    <div>

    <script src="ReleaseSessionObject.asmx" type="text/javascript"></script>
    <script type="text/javascript">
        function HelloWorld() {
            try {
                var a = Library.ReleaseSessionObject.HelloWorld();
                alert(a);
            }
            catch (err) {
                alert(err.Message); 
            }
        };
    </script>

    <asp:ScriptManager ID="ScriptManager1" runat="server">
      <Services>
        <asp:ServiceReference Path="~/ReleaseSessionObject.asmx" />
      </Services>
    </asp:ScriptManager>

    <input type="button" onclick="HelloWorld();" value="Click This" />

    </div>
    </form>
</body>
</html>

ASP.NET頁和服務文件都位於同一文件夾中。

但是當我點擊按鈕時。 它說: 未定義

您是否向項目添加了網絡參考? 這樣,將創建代理,然后您就可以開始使用Web服務方法了。 您可能想查看一本教程

還可以查看有關MSDN的主題

嘗試使其異步:

function HelloWorld() {
    Library.ReleaseSessionObject.HelloWorld(OnCompleted);
}

function OnCompleted(data) {
    alert(data);
}

Web服務asmx文件中的方法說HelloWord但是在標記中說HelloWorld 它說undefined,因為由於拼寫錯誤而找不到方法。

如果未成功,請嘗試以下示例: 直接從javascript調用ASMX Web服務

暫無
暫無

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

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