Как-то так будет хорошо работать ...
$users = array(
array(
'name' => 'bob',
'registered' => TRUE,
'id' => $id
), ...
);
header('Content-Type: application/json');
echo json_encode($users);
(очевидно, заменить переменные и строки).
Вот пример вывода ...
[{"name":"bob","registered":true,"id":7}]
Как вы можете видеть , это объект JavaScript, который является первым членом массива.
Если ваша библиотека отправляет заголовок XHR (jQuery делает), вы также можете проверить наличие
($_SERVER['X_HTTP_REQUESTED_WITH'] === 'XMLHttpRequest')
Возможно, вы также захотите убедиться, что заголовок существует с isset()
или array_key_exists()
. Проверка этого заголовка не обязательна, но она может помочь, когда файл может быть запрошен с помощью AJAX или явно запрошен и соответственно обслуживает различные виды (JSON или HTML)