drupal での AJAX コールバックでは、通常、drupal_json() を使用してクライアントにデータを送信することをお勧めします。この関数は、生データを HTML エンコーディングと共に JSON に変換します。
HTML データをエンコードせずにクライアントに送信したい。このために、次のコードを使用しています。
print $html_output;
exit(0);
そうするためにdrupalで推奨または最良の方法はありますか?
drupal での AJAX コールバックでは、通常、drupal_json() を使用してクライアントにデータを送信することをお勧めします。この関数は、生データを HTML エンコーディングと共に JSON に変換します。
HTML データをエンコードせずにクライアントに送信したい。このために、次のコードを使用しています。
print $html_output;
exit(0);
そうするためにdrupalで推奨または最良の方法はありますか?
それでうまくいきます。ただし、最初にhook_exitを呼び出す必要があります。ただし、これはフレームワークをある程度短縮するものであり、単純なケースでは機能する可能性がありますが、フォームなどでは機能しません。
この方法を使用したのは、すでにjsonでエンコードされているデータを印刷する場合のみです。
メニュー コールバックから返された HTML 出力のみを出力する必要がある場合は、次のコードが正しいコードです。
print $html_output;
module_invoke_all('exit');
exit();
出力を Drupal が通常出力するブロックと一緒に表示したい場合は、コードを次のように変更する必要があります。
return $html_output;