我有從動態創建的文本框值生成的陣列串列。問題是在使用 ajax 將資料傳遞給控制器??時,串列的計數顯示在 jsonresult 但無法獲取串列。它顯示像[object,Object],[object,物件]就像我添加的影像。我想從串列中檢索資料。
我的資料系結代碼
$('#tbl tbody tr').each(function () {
var objlist = [];
var count = 0;
var row = $(this).closest('tr');
var rowIndex = $(this).closest('tr').index();
row.find('input[type=text]').each(function () {
count = 1;
var id = $(this).attr('id');
var value = $(this).val();
var field = $(this).attr('name');
objlist.push({
"Id": id,
"field": field,
"value": value
});
});
tblList.push(objlist);
});
我的 Ajax 發送方法
$.ajax({
type: 'POST',
url: '@Url.Action("Action", "Controller")',
data: {tableData: tblList},
global: false,
dataType: "json",
traditional: true,
async: false,
success: function (data) {
///
}
}
});



修改后顯示這個謝謝。
uj5u.com熱心網友回復:
此代碼已使用 Visual Studio 測驗并正常作業
Ajax 應該使用 application/json 內容型別
$.ajax({
type: 'POST',
url: '@Url.Action("Action", "Controller")',
data: JSON.stringify(tblList),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
///
}
}
});
在服務器端創建一個視圖模型
public class TableData
{
public int Id {get; set;}
public string Field {get; set;}
public string Value{get; set;}
}
并更改動作標題
public JsonResult InsertData([FromBody]List<TableData> tableData)
我認為這是您的代碼中的一個錯誤,您在另一個陣列中有陣列。您必須在使用代碼之前修復它
objlist.push({
"Id": id,
"field": field,
"value": value
});
});
tblList.push(objlist);
如果您需要 2 個陣列,請嘗試此操作
public JsonResult InsertData([FromBody] List<List<TableData>> tableData)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407660.html
標籤:
