My ajax DataTable response is like this but it is not showing fieldname value in browser.
I am using Laravel as backend. My ajax DataTable is not showing field name like brands.name value, means if the field name contains a . then it is not showing value.
{
"draw": 1,
"iTotalRecords": 4,
"iTotalDisplayRecords": 4,
"aaData": [{
"models.id": 2,
"brands.name": "Maruti",
"models.name": "Maruti",
"action": "<a class=\"tp\" title=\"Edit\" href=\"http:\/\/localhost\/cnp1352\/admin\/make-and-model\/Mg==\/edit\"><i class='fa fa-edit'><\/i><\/a>\n<a title=\"Soft Delete\" data-id=\"Mg==\" data-table=\"bW9kZWxz\" class='delete tp' href='javascript:void(0);'><i\n class='fa fa-trash-alt'><\/i><\/a>\n"
}, {
"models.id": 2,
"brands.name": "Maruti",
"models.name": "Maruti",
"action": "<a class=\"tp\" title=\"Edit\" href=\"http:\/\/localhost\/cnp1352\/admin\/make-and-model\/Mg==\/edit\"><i class='fa fa-edit'><\/i><\/a>\n<a title=\"Soft Delete\" data-id=\"Mg==\" data-table=\"bW9kZWxz\" class='delete tp' href='javascript:void(0);'><i\n class='fa fa-trash-alt'><\/i><\/a>\n"
}, {
"models.id": 1,
"brands.name": "Honda",
"models.name": "Honda",
"action": "<a class=\"tp\" title=\"Edit\" href=\"http:\/\/localhost\/cnp1352\/admin\/make-and-model\/MQ==\/edit\"><i class='fa fa-edit'><\/i><\/a>\n<a title=\"Soft Delete\" data-id=\"MQ==\" data-table=\"bW9kZWxz\" class='delete tp' href='javascript:void(0);'><i\n class='fa fa-trash-alt'><\/i><\/a>\n"
}, {
"models.id": 1,
"brands.name": "Honda",
"models.name": "Honda",
"action": "<a class=\"tp\" title=\"Edit\" href=\"http:\/\/localhost\/cnp1352\/admin\/make-and-model\/MQ==\/edit\"><i class='fa fa-edit'><\/i><\/a>\n<a title=\"Soft Delete\" data-id=\"MQ==\" data-table=\"bW9kZWxz\" class='delete tp' href='javascript:void(0);'><i\n class='fa fa-trash-alt'><\/i><\/a>\n"
}]
}
My data table initialization is like the following:
$(document).ready(function() {
var dataTableSettings = {};
dataTableSettings.autoWidth = false;
dataTableSettings.order = [
[0, "desc"]
];
dataTableSettings.aLengthMenu = [
["10", "20", "30", "-1"],
["10", "20", "30", "all"]
];
dataTableSettings.dom = '<"pull-left"f> Br <"pull-right"l>tip';
// dataTableSettings.dom='Blfrtip';
dataTableSettings.buttons = [];
// dataTableSettings.fixedColumns= true;
dataTableSettings.processing = true;
dataTableSettings.serverSide = true;
dataTableSettings.paging = true;
dataTableSettings.ajax = {};
dataTableSettings.ajax.url = "http://localhost/cnp1352/admin/make-and-model";
dataTableSettings.ajax.data = function(data) {
$(".search-form input, .search-form select ").each(function() {
data[$(this).attr('name')] = $(this).val();
});
};
dataTableSettings.columns = [{
"data": "models.id"
}, {
"data": "brands.name"
}, {
"data": "models.name"
}, {
"data": "action"
}];
dataTableSettings.columnDefs = [
{
"targets": [3],
"orderable": false,
},
{
"visible": false,
"targets": []
},
{
"targets": [],
"createdCell": function(td, cellData, rowData, row, col) {
$(td).addClass("img-custom-product");
}
}
];
dataTableSettings.language = {
paginate: {
previous: "<i class='mdi mdi-chevron-left'>",
next: "<i class='mdi mdi-chevron-right'>"
},
info: "Showing page _PAGE_ of _PAGES_"
};
dataTableSettings.drawCallback = function() {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded")
};
table = $('#empTable').DataTable(dataTableSettings);
$('#empTable_filter input').addClass('form-control');
$('#empTable_length select').addClass('form-control');
var info = table.page.info();
});
But output is showing like the following:
