用于非JSON输出的drupal_json的任何替代

时间:2010-08-05 10:42:19

标签: ajax drupal drupal-6 drupal-modules ahah

在drupal中的AJAX回调中,通常建议使用drupal_json()将数据发送到客户端。此函数将原始数据与HTML编码一起转换为JSON。

我想将HTML数据发送到客户端而不进行编码。 为此,我使用以下代码:

print $html_output;
exit(0);

drupal中是否有任何推荐或最好的方法?

2 个答案:

答案 0 :(得分:2)

这样就可以了。尽管你应该首先调用hook_exit。然而,这是框架的一些简化,它可能在简单的情况下工作,但不适用于表单等。

我唯一一次使用这种方法的方法是打印一些已经完成json编码的数据。

答案 1 :(得分:2)

如果只需输出菜单回调返回的HTML输出,则以下代码是正确的:

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

如果您希望输出一起显示Drupal正常输出的块,则需要将代码更改为以下内容:

return $html_output;