НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗jsPmBsSJ 43 of 61 menu

Некорректный JSON на сервере в AJAX в PHP

Давайте рассмотрим распространенные ситуации в серверном коде, неожиданно приводящие к появлению некорректному JSON.

Пусть у нас есть следующий корректный код:

<?php $data = [1, 2, 3]; header('Content-Type: application/json'); echo json_encode($data); ?>

Давайте посмотрим, как его можно испортить.

Вариант

Если вывести отладочную информацию, то она отправится в качестве ответа вместе с JSON, испортив его:

<?php $data = [1, 2, 3]; var_dump($data); header('Content-Type: application/json'); echo json_encode($data); ?>

Вариант

PHP ошибки типа Warning и Notice также будут отправляться вместе с ответом сервера. К примеру, ошибочно напишем несуществующую переменную:

<?php $data = [1, 2, 3, $num]; header('Content-Type: application/json'); echo json_encode($data); ?>

Вариант

Лишний текст, например, теги, также испортят наш JSON:

<div> <?php $data = [1, 2, 3]; header('Content-Type: application/json'); echo json_encode($data); ?> </div>

Практические задачи

Воспроизведите описанные типы проблем.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить