[問題] AJAX 傳送陣列問題

作者: Lattewang (拿鐵)   2021-12-15 13:58:47
小弟最近在處理前端傳值到後端時,遇到三維陣列要傳到後端去資料庫的問題
資料類型:三維陣列
array name:arr
array內容是integer組成的三維陣列
[4,3,6]
[3,4,5]
前端語法:
$.ajax({
type: 'POST',
data:
{
'sortarray': arr,
},
url: "/{controllerName}/{actionName}",
cache: false,
async: false,
contentType:
"application/x-www-form-urlencoded",
dataType: "json",
success: function (result) {
if (result.success) {
//成功後再取得清單
alert('Wonderful');
}
else
{
alert(result.message);
toastr.error(result.message);
}
});
後端後法
public async Task<ActionResult> ActionName(List<int[,,]> sortarray)
{
}
有試著把array 換成string,是可以在後端接到資料,但換成array後卻收到2筆資料
內容是null的資料
是否能有前輩不吝指教,謝謝
作者: kyrc (橘子)   2021-12-16 22:31:00
List<List<int>> sortarray
作者: freebug (Freebug)   2021-12-17 14:26:00
先把Ajax要傳的data轉換成json形式的字串,到後端後再decode轉成json形式的字串可以用「JSON.stringify」方法你Ajax的data應該要是一個json字串,而非「{sortarray: arr }」

Links booklink

Contact Us: admin [ a t ] ucptt.com