Drupal создает страницу, которая выводит JSON - PullRequest
15 голосов
/ 03 сентября 2010

Я хотел бы спросить, можно ли создать страницу, которая выводит данные JSON в ответ на запрос Jquery Ajax?

Я не просто создаю php-файл, например mypage.php, а затем использую http://example.com/mypage.php?foo=bar в качестве URL-адреса для моего AJAX-запроса.Затем эта страница будет выводить данные JSON с помощью json_encode ().

Как я могу это сделать способом Drupal?

Ответы [ 2 ]

36 голосов
/ 24 октября 2012

Рабочий пример подсказки Скотта Рейнена: в 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 и вот

21 голосов
/ 03 сентября 2010

Серверный модуль JSON дает вывод JSON узлов.

Если вам нужно больше пользовательских JSON, вы можете использовать hook_menu () для создания нового обратного вызова меню (в основном это URL-путь, указывающий на функцию), а затем использовать:

внутри этого обратного вызова для отправки вывода в формате JSON, а не HTML по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...