客户端的服务呼叫

时间:2016-05-09 11:54:34

标签: javascript vb.net web-services webservice-client

我需要调用该服务并从中检索回调函数中的结果数据,但我收到js错误:

  

未捕获的ReferenceError:未定义InvoiceHTMLService。

请帮助 - 以下是我的页面和课程

我的Aspx页面

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="InvoiceHTML.aspx.vb" Inherits="WebApplication2.InvoiceHTML" %>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>Web Service call from client-side JavaScript</title>

    <script  type="text/javascript">
        function SendRequest() {
            debugger;
            InvoiceHTMLService.GetBillInvoiceHtmlData();
        }
        function OnComplete(arg) {
            alert(arg);
        }
        function OnTimeOut(arg) {
            alert("timeOut has occured");
        }
        function OnError(arg) {
            alert("error has occured: " + arg._message);
        }


    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
    <asp:ServiceReference Path="~/Service/InvoiceHTMLService.asmx" />
    </Services>
    </asp:ScriptManager>
    <div>
    <input type="text" value="" id="MyTextBox" />
    <input type="button" value="Send Request to the Web Service" 
           id="RequestButton" onclick="return SendRequest()" />
    </div>
    </form>
    </body>
    </html>

我的asmx页面

Imports System.Web.Script.Services
Imports System.Web.Services
Imports System.Collections.Generic
Imports System.Text
Imports System.Drawing

Imports System.Web.Services.Protocols
Imports System.ComponentModel

Imports System.IO
Imports ClassLibrary1


' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<WebService()> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ScriptService()> _
Public Class InvoiceHTMLService
    Inherits System.Web.Services.WebService


    <WebMethod()> _
    Public Function GetBillInvoiceHtmlData() As Object
        Dim objDAOBill As DAOInvoice
        Dim Obj As Object

        objDAOBill = New DAOInvoice()

        Obj = objDAOBill.GetBillInvoiceHtmlData()
        Return Obj
    End Function

End Class

1 个答案:

答案 0 :(得分:0)

我得到了答案谢谢大家,我发布了答案,以便可以帮助其他人从客户端进行的服务调用可以通过使用.asmx页面中的完整类名来完成。在我的案例中

<%@ WebService Language="vb" CodeBehind="InvoiceHTMLService.asmx.vb" Class="App.InvoiceHTMLService" %>

所以我必须按照以下方式调用该服务:

   function SendRequest() {

                App.InvoiceHTMLService.GetBillInvoiceHtmlData(callback);
            }