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 ); }
總結 : 如果傳的是鍵值對 那你只能一個一個的來獲取 如果你傳的是數組 則不能獲取其中的某個元素 只能獲取全部(一個字符串的形式)