2010-08-05 6 views
2

Dans un rappel AJAX dans drupal, il est normalement recommandé d'utiliser drupal_json() pour envoyer des données au client. Cette fonction convertit les données brutes en JSON avec le codage HTML.Toute alternative de drupal_json pour une sortie non-JSON

Je souhaite envoyer les données HTML sans codage au client. pour cela, je suis en utilisant le code suivant:

print $html_output; 
exit(0); 

Y at-il recommandé ou la meilleure façon de le faire drupal?

Répondre

2

Si vous avez besoin de sortie uniquement la sortie HTML la fonction de rappel de menu, puis le code suivant est le correct:

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

Si vous voulez que votre sortie apparaisse ensemble les blocs Drupal normalement sortie, puis le code doit être modifié comme suit:

return $html_output; 
2

Cela fera l'affaire. Bien que vous deviez d'abord utiliser hook_exit. Cependant, cela raccourcit le cadre quelque peu, cela peut fonctionner dans des cas simples, mais ne fonctionnera pas pour les formulaires.

La seule fois que j'ai utilisé cette méthode est si j'imprime des données qui sont déjà codées json.