Drupal создает страницу, которая выводит JSON
Я хотел бы спросить, можно ли создать страницу, которая выводит данные JSON в ответ на запрос JQuery Ajax?
В не-drupal-способе я просто создал бы php файл, например mypage.php, а затем использовал бы http://example.com/mypage.php?foo=bar как URL-адрес моего запроса AJAX. Затем эта страница выводит данные JSON с помощью json_encode().
Как я могу сделать это с помощью Drupal?
Ответы
Ответ 1
Модуль сервера JSON дает вам вывод JSON для узлов.
Если вы хотите больше настраиваемого JSON, вы можете использовать hook_menu() для создания нового обратного вызова меню (в основном путь URL, указывающий на функцию), а затем используйте:
внутри этого обратного вызова для отправки вывода как JSON, а не по умолчанию HTML.
Ответ 2
Рабочий пример подсказки scott reynen: в drupal 7,
в модуле, называемом mymodule, напишите
function mymodule_menu() {
$items['fancystuff/json'] = array(
'access callback' => true, // available to all
'page callback' => 'mymodule_fancystuff_object', // defined below
'delivery callback' => 'drupal_json_output'
);
return $items;
}
function mymodule_fancystuff_object() {
return array('test'=>true,'dummy'=>array(0,1));
}
очистить кеши, перейти http://example.com/fancystuff/json и посмотреть