Я сделал Ajax-вызов функции, которая возвращает всю таблицу html.
$.ajax({
url: "/admin/project/getProjectTrackedTimes",
headers: {
'X-CSRF-TOKEN': $('meta[name = "csrf-token"]').attr('content')
},
type: "POST",
dataType: "html",
data: {
project_id : project,
offset : offset,
step : step,
},
success: function(data) {
$('.c-admin-timetrack-table').html(data);
},
error: function(data) {
}
})
}
Затем в функции php я возвращаю следующее:
return json_encode($block);
Теперь, когда я что-то меняю на странице с помощью:
$('.c-admin-timetrack-table').html(data);
Это результат: http://prntscr.com/l1rcer
Результат не в хорошем формате html.
Кто-нибудь может мне помочь? Спасибо!
Обновлено: я такой тупица. Дублировал другой код и изменил некоторые вещи для этой функции. Не удалил json_encode, тупой. Спасибо за резкость.
Попробуйте заменить это: return json_encode ($ block); этим: echo $ block;
Почему вы использовали json_encode? он кодирует его как json ... json не html ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


попробуйте заменить эту часть
[до]
success: function(data) {
$('.c-admin-timetrack-table').html(data);
},
[после]
success: function(data) {
data = JSON.parse(data);
$('.c-admin-timetrack-table').html(data);
},
показать, что полученные данные - это json.
Привет, добро пожаловать в SO. В этом случае лучше исправить проблему с исходным кодом (простым исправлением), чем применять патч (отсюда чей-то голос против). Пожалуйста, продолжайте вносить свой вклад в другой вопрос.
Вы возвращаете не HTML, а JSON.