传递2个参数jquery webservice

时间:2016-10-05 14:30:37

标签: jquery json vb.net

我有一个webm,它返回一个item数组, 我的问题是我无法发送一些参数,也许没有任何参数可以工作

0

1 个答案:

答案 0 :(得分:0)

为了发送json,你必须使用网页(.aspx),而不是像我提到的例子那样使用网络服务(.asmx)。

您只能传递一个参数必须是一个对象,一个类的实例,它将是json参数。

如果您的课程是MAPS:

Public Class MAPS
    Private _RCodProvincia As String
    Public Property RCodProvincia As String
        Get
            Return _RCodProvincia
        End Get
        Set(ByVal value As String)
            _RCodProvincia = value
        End Set
    End Property
    Private _RCodCitta As Integer
    Public Property RCodCitta As Integer
        Get
            Return _RCodCitta
        End Get
        Set(ByVal value As Integer)
            _RCodCitta = value
        End Set
    End Property
End Class

您的方法将是:

<System.Web.Services.WebMethod()> _
    Public Shared Function BindMapMarker(maps As MAPS) As MAPS
       'Do the logic here 
       Return maps
    End Function

你的javascript,你必须指定标题来发送json(内容类型)和期望json,以便jquery正确地形成请求:

 $("#btnMAPS").live("click", function () {
            var MAPS = {};
            MAPS.Rcodprovincia = "Mumbai";
            MAPS.RcodCitta = "2000";
            $.ajax({
                type: 'POST',
                url: 'MyPage.aspx/BindMapMarker',
                contentType: 'application/json; charset=utf-8',
                data: "{maps:" + JSON.stringify(MAPS) + "}",
                dataType: 'json',
                success: function (r) {
                      // Do the logic here
                    alert(r);
                    console.log(r);
                },
                error: function (request, status, error) {
                    alert(request.responseText);
                }
            });
        });