如何将数组数组从javascript传递到Web服务?
我有以下Web服务:如何将数组数组从javascript传递到Web服务?,javascript,jquery,pcap.net,Javascript,Jquery,Pcap.net,我有以下Web服务: [webmethod] public string MakeReservation(?? PassengersInfo)//what data type use for PassengerInfo { } 在javascript中,我有以下代码 var ResultInfo = new Array(); $("#GrdPassengerInformationMakeReservation").find('tr:not(:first)').each(functi
[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传递给webservice。
我应该在我的Web服务中使用什么数据类型?因为信息是一个数组,所以在服务器端使用数组。但是在这种情况下,您可以传递信息,而不是将其发送到另一个数组中,该数组再次包装到ajax post方法中的对象中,即data:Info。
也可以使用ArrayList,因为ResultInfo只包含一个数组,在本例中仅包含一个数组。在这种情况下,发送了带有数据的ajax帖子:ResultInfo 请。。。永远不要使用字符串函数手动生成JSON!只需包含并使用JSON.stringify!为什么不呢?它的好处是什么?这与不使用字符串函数构建XML的原因是一样的:您不想关心转义、括号嵌套等。此外,您不能简单地将字符串与数组连接起来,这样代码在数据为:JSON.stringify{PassengerInfo:ResultInfo}时就无法工作会很有魅力的。是的,你是对的。谢谢你的评论。以下是msdn中的文档。我使用ArrayList作为数据类型,但在firebug中我得到以下错误:无法将类型为\u0027System.String\u0027的对象转换为类型为\u0027System.Collections.ArrayList\u0027