Как отобразить ajax-ответ на datatable при просмотре в браузерах firefox и edge
У меня есть отчет i, который отлично отображается в Google chrome, но при попытке просмотра в браузере Firefox или Edge ответ json отображается в браузере вместо datatable. Пример ответа на firefox ниже:
"[{\"RegisteredBy\":\"Admin\",\"PatientRegNo\":\"De723\",\"PaymentType\":\"Cash\"}]"
Я попытался включить приведенный ниже код в функцию ajax и действие результата json соответственно:
contentType: 'application/json, charset=utf-8',
return Json(data,JsonRequestBehavior.AllowGet);
Что я уже пробовал:
Моя Функция Ajax:
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);
Я хочу иметь возможность просматривать отчет на datatable независимо от используемого браузера.
Richard Deeming
Какие-нибудь ошибки в консоли браузера?
Если вы вызываете это в ответ на событие "щелчок", вы обязательно позвонили e.preventDefault();
чтобы предотвратить отправку формы?
Uwakpeter
это ошибка из консоли браузера:
Политика безопасности контента: настройки страницы заблокировали загрузку ресурса по адресу http://localhost:55577/favicon.ico (“default-src”).
Я удалил фавикон.файл ico из корня приложения, но проблема все еще сохраняется.
Пожалуйста, могу ли я назвать это e.preventDefault()?
я много использовал cdn в приложении, я пытался использовать мета-тег политики безопасности в макете, что делает приложение не очень хорошо отображаемым.
Richard Deeming
Предположим, что код, который вы показали, является обработчиком событий jQuery для searchBtn
кнопка:
$("#searchBtn").click(function(e){ e.preventDefault(); ... the rest of your handler code here... });
Uwakpeter
Спасибо, сэр, это сработало, отчеты теперь отлично отображаются во всех браузерах.