这是我现有的分页代码,我在这里得到错误,因为roleList
没有定义。
我不知道如何在dataTable()
里面使用 AJAX 响应。我做错了什么?我被这个部分击中了过去3天,但是我寻找了很长时间的解决方案,但不能找到一个。
function empRoles() {debugger
table = $('#mydata').DataTable({
"ajax": {
"type": 'POST',
"dataType": 'json',
"url": '/Admin/getRolesList',
"dataSrc": function (response) {
var roleList = response;
console.log(roleList)
},
"data": {
"json": JSON.stringify(roleList)
}
},
"columns": [{
"data": "sNo"
}, {
"data": "roleName",
"className": "roleName"
}, {
"data": "roleName",
"render": (data, type, row, meta) => `
<button class="btn edit btn-info" id="edit${row.sNo}">
<i class="fa fa-pencil"></i>
Edit
</button>
<button class="btn update btn-success" id="update${row.sNo}">
<i class="fa fa-floppy-o"></i>
Update
</button>
<button class="btn dlt btn-danger" data-toggle="modal" data-target="#confirm" id="delete${row.sNo}">
<i class="fa fa-trash-o"></i>
Delete
</button>
`
,
"sortable": false
}],
"createdRow": (row, data, dataIndex) => {
$(row).attr("id", "row" + data.sNo);
$('td:eq(1)', row).attr("id", "name" + data.sNo);
}
});
}
有什么建议吗?
2条答案
按热度按时间xnifntxz1#
如果我正确地理解了这个问题,我相信最简单的解决方案是在选项之外初始化
roleList
变量。ttp71kqs2#
代码部分
之前执行
因此,变量roleList对于ajax.data不可用。
您可以通过在浏览器上设置断点来验证这一点。
这里你基本上是尝试访问输入变量并将其传递回服务器。同样的事情可以通过自己的自定义 AJAX 部分使用下面链接中提到的函数来实现-
https://datatables.net/reference/option/ajax