代码之家  ›  专栏  ›  技术社区  ›  swabygw

“未知Web方法”Ajax错误

  •  0
  • swabygw  · 技术社区  · 6 年前

    在错误函数中返回的数据表示:未知的Web方法递增表(pagenumber)。参数名称:methodname。我确信我在某个地方犯了一个小错误,但希望第二双眼睛能帮助我找到它。:)

    my.aspx页面如下:

    <%@ Page Title="TouchStoneTV" Language="VB" AspCompat="True" AutoEventWireup="True" Debug="True" EnableEventValidation="True" ValidateRequest="False" Trace="False" EnableViewState="True" %>
    
    <%@ Import Namespace="System.Web.Services" %>
    <%@ Import Namespace="System.Web.Script.Services" %>
    
    <WebMethod()> _
    Public Shared Function IncrementTable '(ByVal PageNumber As Integer)
    
    Dim PageNumber As Integer = 1
    For x As Integer = 0 To Math.Ceiling(RowsPerPage/CellsPerRow)
    
        Dim r As TableRow = New TableRow
        'If (x Mod CellsPerRow) = 0 Then r = New TableRow
        r.Attributes.Add("style","text-align:center;height:200px;width:50%;")
    
        Dim c1, c2 As New TableCell
        c1.Attributes.Add("style","border:1px solid #000;")
        c2.Attributes.Add("style","border:1px solid #000;")
        c1.Controls.Add(New LiteralControl(PageNumber.ToString & "a : " & x.ToString))
        c2.Controls.Add(New LiteralControl(PageNumber.ToString & "b : " & x.ToString))
        r.Cells.Add(c1)
        r.Cells.Add(c2)
    
        MainContentTable.Rows.Add(r)
    
    Next x
    
    Return "test"
    
    End Function
    

    javascript看起来像这样:

    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script type="text/javascript">
    
    var pageNumber = 1;
    //var webMethodUrl = '<%=ResolveUrl("~/Mobile.aspx/IncrementTable(pageNumber)") %>'; //alert(webMethodUrl); //this gets a 404-not found error
    var webMethodUrl = 'Mobile.aspx/IncrementTable(pageNumber)'; 
    
    $(document).ready(function () {
        $(window).scroll(function () {
            // Get the current vertical position of the scrollbar.  If it's equal to the height of the document minus the 
            // window height then go get some more data
            if ($(window).scrollTop() == $(document).height() - $(window).height()) {
                // Increment page number and set up the parameters
                pageNumber += 1;
                var params = "{'pageNumber': " + pageNumber + "}";
    
                // Async post back to the BindDataAsync code behind web method
                $.ajax({
                    type: "POST",
                    url: webMethodUrl,
                    data: params,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (data) {alert('error: ' + data);},
                    success: function (data) {alert('success');
                        //if (data != "") {
                            // Take the results from the web service method and append them to the table
                        //    $('#ProductsTable').append(data.d);
                        //}
                    }
                });
            }
        });
    });
    
    </script>
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Mohsin Mehmood    6 年前

    <WebMethod()> _
    <ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)> _
    Public Shared Sub IncrementTable(ByVal PageNumber As Integer)
      'code
    End Sub
    

        2
  •  0
  •   wazz    6 年前

    var webMethodUrl = 'Mobile.aspx/IncrementTable';