Любая альтернатива drupal_json для вывода не в формате JSON - PullRequest
2 голосов
/ 05 августа 2010

При обратном вызове AJAX в drupal обычно рекомендуется использовать drupal_json () для отправки данных клиенту.Эта функция преобразует необработанные данные в JSON вместе с кодировкой HTML.

Я хочу отправить данные HTML без кодирования клиенту.для этого я использую следующий код:

print $html_output;
exit(0);

Есть ли какой-либо рекомендуемый или лучший способ сделать это в drupal?

Ответы [ 2 ]

2 голосов
/ 07 августа 2010

Если вам нужно вывести только HTML-вывод, возвращенный из обратного вызова меню, то следующий код является правильным:

print $html_output;
module_invoke_all('exit');
exit();

Если вы хотите, чтобы ваш вывод отображался вместе, как обычно выводятся блоки Drupal,тогда код необходимо изменить на следующее:

return $html_output;
2 голосов
/ 05 августа 2010

Это сработает.Хотя вы должны сначала вызвать hook_exit.Однако это сокращает структуру, это может работать в простых случаях, но не будет работать для форм и т. Д.

Единственный раз, когда я использовал этот метод, это если я печатаю некоторые данные, которые уже закодированы в формате json.

...