Как передать массив массивов из JavaScript в веб-сервис? - PullRequest
1 голос
/ 29 марта 2012

У меня есть следующий веб-сервис:

[webmethod]
public string MakeReservation(?? PassengersInfo)//what data type use for PassengerInfo 
{
}

и в javascript у меня есть следующий код.

 var ResultInfo = new Array();
    $("#GrdPassengerInformationMakeReservation").find('tr:not(:first)').each(function() {
        var Info = new Array();
        Info.push($(this).find('td:eq(1)').text());
        Info.push(($(this).find('td:eq(2)')).find('select').val());
        Info.push(($(this).find('td:eq(3)')).find('input').val());
        Info.push(($(this).find('td:eq(4)')).find('input').val());
        Info.push(($(this).find('td:eq(5)')).find('select').val());
        Info.push(($(this).find('td:eq(6)')).find('input').val());

        ResultInfo.push(Info);

    })
$.ajax(
    { url: "Ajaxes/Reservation.asmx/MakeReservation",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        type: "POST",
        data: "{'PassengersInfo':'" + ResultInfo + "'}",
        async: false,
        success: function(data) {

        }
});

Я хочу передать ResultInfo в веб-сервис.Какой тип данных мне следует использовать в моем веб-сервисе?

1 Ответ

0 голосов
/ 29 марта 2012

Поскольку Info является массивом, используйте массив на стороне сервера. Но в этом случае вы можете передать Info как таковой вместо отправки его в другой массив, который снова является оберткой в ​​object в вашем методе ajax post, т.е. Или вы можете использовать ArrayList, поскольку ResultInfo содержит массивы (в данном случае только один массив). В этом случае отправил сообщение Ajax с data: ResultInfo.

...