var states = new Array();
states[0] = { Id: 1, Name: "Maharashtra" };
states[1] = { Id: 2, Name: "Punjab" };
var Id = new Array();
Id[0] = 0;
Id[1] = 1;
$.ajax({
type: "POST",
url: "WebService.asmx/MultiDim",
data: "{'states':" + JSON.stringify(states) +",'rowId':" + JSON.stringify(Id) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Do something interesting here.
}
});
[WebMethod]
public void MultiDim(statesTemplate[] states, Id rowId)
{
}
我没有在我的网络服务功能中获得rowId第二个参数。
答案 0 :(得分:0)
尝试:
data : { states : states, rowId : Id },
您可以传递$.ajax()
函数作为对象的data
属性,jQuery将负责其余的工作。
数据强>
要发送到服务器的数据。 如果转换为查询字符串,则转换为 不是字符串。它附加到GET请求的URL。看到 processData选项可防止此自动处理。对象必须 是键/值对。 如果value是一个数组,jQuery序列化多个 具有相同键的值,基于传统设置的值 (如下所述)。
来源:http://api.jquery.com/jquery.ajax/
请注意,您可以按字面意思初始化array
:
var states = [ { Id : 1, Name : 'Maharashtra' }, { Id : 2, Name : 'Punjab' } ],
Id = [ 0, 1 ];
答案 1 :(得分:0)
您正在创建的JSON字符串是无效的JSON。 JSON需要双引号。用单引号开始你的字符串,并使用双引号作为键和值。
使用jsonlint.com验证