Ответ Ajax не отображается в datatable при просмотре в браузерах Firefox и Edge - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть отчет, который хорошо отображается в Google Chrome, но при попытке просмотра в браузере Firefox или Edge ответ json отображается в браузере вместо данных.Пример ответа ниже: "[{\ \ RegisteredBy \": \ "Admin \", \ "PatientRegNo \": \ "De723 \", \ "PaymentType \": \ "Cash \"}] "

Я пытался включить следующий код:

contentType: 'application/json, charset=utf-8',

return Json(data,JsonRequestBehavior.AllowGet);

Это моя функция Ajax:

$("#searchBtn").click(function () {     
        var url = $("#frmReport").attr('action');
        var str = $("#frmReport").serialize();
        $("#searchBtn").prop("disabled", true);
        $.ajax({
            url: url,
            type: "POST",
            data: str,
            cache: false,
            dataType: "json",              
            success: function (_data) {
                var arr = $.map(JSON.parse(_data), function (el) { return el });                   
                table.clear();
                table.destroy();
                $('#tblReport').dataTable({
                    data: arr,
                    columns: [
                        { "data": "RegisteredBy"},
                        { "data": "PatientRegNo"},
                        { "data": "PaymentType"},                           
                    ],
                    dom: 'Bfrtip',
                    buttons: [
                        'copy', 'csv', 'excel',
                        {
                            extend: 'pdfHtml5',
                            orientation: 'portrait',
                            pageSize: 'A4'
                        }

                    ]
                });

            }
        });
        table = $("#tblReport").DataTable();
    });
});

Мой код JsonResult:

getEntries = superAdminForBillingRepository.GetByRegNoOnly(regNo);
var data = Newtonsoft.Json.JsonConvert.SerializeObject(getEntries);
return Json(data);

Я хочу иметь возможность просматривать ответ ajax на таблицу данных в любом браузере

1 Ответ

0 голосов
/ 15 февраля 2019

попробуйте вызвать ваш стол так:

var tableTypeOfClientInfo = $('#tableTypeOfClientInfo ').DataTable({
                       "destroy": true,
                       "responsive":{
                         "details": {
                         renderer: function ( api, rowIdx, columns ) {
                           var data = $.map( columns, function ( col, i ) {
                             return col.hidden ?
                               '<tr data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">'+
                                 '<td>'+col.title+':'+'</td> '+
                                 '<td>'+col.data+'</td>'+
                               '</tr>' :
                               '';
                           } ).join('');

                           return data ?$('<table/>').append( data ) :false;
                         }
                       }
                     },
                       "autoWidth": false,
                             "ajax": {
                                 "url": 'some.php',
                                 "method": 'POST',
                                 data:{action:"SLC", categoryId:id}
                             },
                             "columns": [
                                 {"data": "identification_number"},
                                 {"data": "address"},
                                 {"data": "birthday"},
                                 {"data": "phone"},
                                 {"data": "mail"}
                             ],
                             "language":{"url": "//cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json"},
                               "columnDefs": [
                                 {
                                   "className": "dt-center", "targets": "_all"
                                  }
                               ]
                         });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...