无法使用jquery调用服务器端功能

时间:2014-04-20 21:01:54

标签: jquery asp.net vb.net web-services

我在jquery中有以下代码

            $('#btnSubmit').click(function () {
            $.ajax({
                type: "POST",
                url: "Appointment.aspx/saveAppointment",
                data: "{firstname:'" + firstname + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    alert(1);
                    // Do something interesting here.
                }
            });
        });

我在vb.net中调用此函数

<WebMethod()> _
Public Shared Function saveAppointment(ByVal firstname As String) As Boolean

    Dim checkval = globalclass.firstname
    Try

    Catch ex As Exception
        Throw ex
    End Try
    Return True
End Function

结束班

它似乎没有任何参数。如果提供参数则没有呼叫。我也提到了这个,但似乎确实有效

Calling an ASP.NET server side method via jQuery

谢谢!

1 个答案:

答案 0 :(得分:0)

https://api.jquery.com/jQuery.ajax/

将数据发布为对象:

  

data类型:PlainObject或String要发送到服务器的数据。它是   转换为查询字符串,如果还不是字符串。它被附加到   GET请求的URL。请参阅processData选项以防止这种情况   自动处理。对象必须是键/值对。如果价值是   Array,jQuery使用相同的密钥序列化多个值   传统环境的价值(如下所述)。

data: {firstname: firstname} 

data: {firstname: firstname}  // in case you want to assign "firstname" as string value        to the data you are posting.

考虑右侧的firstname是javascript中的已定义变量,而左侧的firstname是您将在另一侧脚本中使用的名称(PHP,vb.net ..等等)