Error Invalid JSON. But JSON is valid?
Error Invalid JSON. But JSON is valid?
whaliim
Posts: 5Questions: 3Answers: 0
Error messages shown:
Invalid JSON response
Description of problem:
I want to create datatables with in table controls like this. I have created the code but somehow still getting Invalid JSON response Error. I have checked the response and it is a valid JSON response. Could someone tell me what am I missing here?
Thank you in advance.
**HTML **
div class="">
<table id="list" class="display">
<thead>
<tr class="bold">
<th>Shop</th>
<th>art</th>
<th>date</th>
<th>time</th>
<th>Name</th>
<th></th>
<th></th>
</tr>
</thead>
<tfoot>
<tr class="bold">
<th>Shop</th>
<th>art</th>
<th>date</th>
<th>time</th>
<th>Name</th>
<th></th>
<th></th>
</tr>
</tfoot>
</table>
</div>
} );
JS
$(document).ready( function () {
var columnsConfig = {
default: [
{ "data": "company", "orderable": false },
{ "data": "type", "orderable": false },
{ "data": "date", "orderable": false },
{ "data": "time", "orderable": false },
{ "data": "fullname", "orderable": false },
{
"data": null,
"className": "dt-center editor-view",
"defaultContent": '<a class="btn btn-primary editbutton"><i class= "fa fa-eye" ></i></a>',
"orderable": false
},
{
" "data": null,
"className": "dt-center action-view",
"defaultContent": '<a class="btn btn-primary editbutton"><i class= "fa fa-check" ></i></a>',
"orderable": false
}
]
};
window.dt_table = $('#list').DataTable({
"scrollX": true,
"searchDelay": 1000,
"createdRow": function (row, data, dataindex) {
$(row).attr('data-id', data.id);
},
"language": {
"url": "\German.json"
},
"processing": true,
"serverSide": true,
"columns": columnsConfig.default,
"ajax": {
"url": "Default.aspx/getData",
"dataSrc": "data",
"type": "POST",
"contentType": "application/json; charset=utf-8",
"dataType": "json",
"data": function (d) {
return JSON.stringify({ parameters: d });
},
"dataFilter": function (res) {
var parsed = JSON.parse(res);
return parsed.d;
}
}
});
} );
JSON Response: (parsed.d)
{
"__type": "ProgramClass",
"draw": 1,
"recordsTotal": 1,
"recordsFiltered": 1,
"data": [{
"id": "1",
"company": "Company Name",
"date": "01.03.2021",
"time": "16:00",
"type": "Service",
"firstname": "Max",
"lastname": "Mustermann",
"phone": null,
"fullname": "Max Mustermann"
}
]
}
This discussion has been closed.
Answers
Nothing obviously wrong in what you’ve got above - could you link to a test case showing the issue so I can trace it through please?
Allan
I'm afraid I cannot prepare a test case. Otherwise, I would have prepared it.
However, apparently I have to change
dataType: json
on myajax
parameter todataType: text
to make it work. Strange, because I thoughtparsed.d
is already a JSON object.