서버 쪽 처리를 사용하여 DataTable을 구현하려고합니다.JQuery DataTables 서버 쪽 처리 없음 렌더링
내가 알 수있는 한 내가 가지고있는 것은 정확합니다. 그러나 페이지를로드하면 볼 수있는 것은 모두 "No matching records found"
입니다.
DataTables 1.10.9를 사용하고 있습니다.
내 테이블은 다음과 같이 설정 :
<table id="resellerListTable" class="table table-hover table-condensed display dataTable no-footer" role="grid">
<thead>
<tr role="row">
<th class="sorting_disabled" name="asd"></th>
<th class="sorting_disabled">Name</th>
<th class="sorting_disabled">Active</th>
<th class="sorting_disabled no-sort"></th>
</tr>
</thead>
<tfoot>
<tr role="row">
<th class="sorting_disabled" name="asd"></th>
<th class="sorting_disabled">Name</th>
<th class="sorting_disabled">Active</th>
<th class="sorting_disabled no-sort"></th>
</tr>
</tfoot>
</table>
이 DataTable의를 초기화하는 자바 스크립트입니다. 여기
$('#resellerListTable').DataTable({
processing: true,
serverSide: true,
ajax: {
type: 'POST',
url: self.ajaxRoute,
data: function (d) {
// Format DataTables data for the API, and include some required data.
var returnData = {
controller: controller,
method: method,
data: d,
};
window.$.extend(returnData.data, data);
return JSON.stringify(returnData);
},
dataSrc: function (d) {
// Format API response for DataTables
var response = d;
if (typeof d.response != 'undefined') {
response = d.response;
}
console.log(JSON.stringify(response)); // Output from this is below...
return response;
},
async: true,
error: function (e) {
console.log(e);
},
drawCallback: function() {
console.log('table drawn');
}
}
});
위
console.log()
{
"data": [
[
"<img src='' />",
"Something 1",
"not active",
"<a href='/retailer/edit/1'>Edit</a><a href='/retailer/delete/1'>Delete</a>"
],
[
"<img src='' />",
"Something 2",
"not active",
"<a href='/retailer/edit/2'>Edit</a><a href='/retailer/delete/2'>Delete</a>"
],
[
"<img src='' />",
"Something 3",
"not active",
"<a href='/retailer/edit/3'>Edit</a><a href='/retailer/delete/3'>Delete</a>"
],
[
"<img src='' />",
"Something 4",
"not active",
"<a href='/retailer/edit/4'>Edit</a><a href='/retailer/delete/4'>Delete</a>"
],
[
"<img src='' />",
"Something 5",
"not active",
"<a href='/retailer/edit/5'>Edit</a><a href='/retailer/delete/5'>Delete</a>"
],
[
"<img src='' />",
"Something 6",
"not active",
"<a href='/retailer/edit/6'>Edit</a><a href='/retailer/delete/6'>Delete</a>"
],
[
"<img src='' />",
"Something 7",
"not active",
"<a href='/retailer/edit/7'>Edit</a><a href='/retailer/delete/7'>Delete</a>"
],
[
"<img src='' />",
"Something 8",
"not active",
"<a href='/retailer/edit/8'>Edit</a><a href='/retailer/delete/8'>Delete</a>"
],
[
"<img src='' />",
"Something 9",
"not active",
"<a href='/retailer/edit/9'>Edit</a><a href='/retailer/delete/9'>Delete</a>"
],
[
"<img src='' />",
"Something 10",
"not active",
"<a href='/retailer/edit/10'>Edit</a><a href='/retailer/delete/10'>Delete</a>"
]
],
"recordsTotal": "23",
"recordsFiltered": "23",
"draw": 1
}
나는 또한 DataTables가 table drawn
마다 새로 고친 후 콘솔에 출력되는이 같은 결과를 그리기 위해 노력하고 있음을 알 수에서 기록 출력입니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까?
https://datatables.net/release-datatables/examples/ajax/objects.html를 참조하십시오'여기 https://datatables.net/reference/option/ajax의 예에 따라. dataSrc – ADyson
또한 JSON의 "데이터"내부 항목은 객체가 아니라 배열이어야한다고 생각합니다. 즉' "데이터"[ { "" "뭔가 1", "활성화되지", 는 "EditDelete" 가}'참고 대신 [의 객체를 나타내는은 {...} ... ] 배열을 나타냅니다. 그리고 객체의 각 항목에는 그것이 속하는 열을 나타내는 속성 이름, 예를 들어 g가 있어야합니다. ' "column1": ""'. https://datatables.net/release-datatables/examples/ajax/objects.html – ADyson
의견을 보내 주셔서 감사합니다. 이러한 두 가지 변경 사항은 표의 행을 보면서 내 문제를 해결 한 것으로 보입니다. 그러나 결과 카운트는 꺼져 있습니다. ""NaN 총 항목에서 필터링 된 "0 항목 중 0 ~ 0 표시"예상되는 "1 ~ 10 항목 중 23 항목 표시 (NaN 총 항목 필터링)"대신 표시됩니다. DataTables에서 해당 데이터를 찾을 때 응답 형식을 추가해야하는 또 다른 기능이 있습니까? –