var arr1 = [{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}]; //第一个数组存入键值对 var arr2 = [{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}]; var arr3 = new Array(); arr3.push(arr1); arr3.push(arr2); var array = ["hello", 12, true, { "name": "xiaoming", "age": 4}]; //为了区别第一个数组 这里好作比较 var s1 = new Array(); var s1 = [[3, 1], [2, 3, 4], 3, [4, 5, 6, 7, 8]]; //二维数组 2019年9月10日 我整整挂了两年多 出道以来 两年多哇! 这个不是二维数组 是交错数组 这里改正 var s2 = new Array(); s2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; //一维数组 function aaa() { var url = 'Handler1.ashx/?action=ccc'; $.ajax({ type: "Post", url: url, data: { list1: arr1, list2: array, list3: s1, list4: s2 }, contentType: "application/x-www-form-urlencoded; charset=utf-8", success: function (data) { alert(data); }, error: function (err) { alert(err); } }); }
我用chrome 看了下 我传的值 是这样子的结构
public void ccc(HttpContext context) { string list1 = context.Request["list1[0][aa]"]; //接收第一个数组里面的键值对 string list2 = context.Request["list2[]"]; //接收二维数组 string list2_1 = context.Request["list2[3][name]"]; //接收二维数组里面的键值对 string list3 = context.Request["list3[]"]; //接收二维数组里面的数组元素 string list3_1 = context.Request["list3[3][]"]; //接收二维数组里面的数组元素(元素也是数组) string list4 = context.Request["list4[]"]; //接收一维数组 Response.Write(list1 + "||" + list2 + "||" + list2_1 + "||" + list3 + "||" + list3_1 + "||" + list4 ); }
总结 : 如果传的是键值对 那你只能一个一个的来获取 如果你传的是数组 则不能获取其中的某个元素 只能获取全部(一个字符串的形式)