2

drupal での AJAX コールバックでは、通常、drupal_json() を使用してクライアントにデータを送信することをお勧めします。この関数は、生データを HTML エンコーディングと共に JSON に変換します。

HTML データをエンコードせずにクライアントに送信したい。このために、次のコードを使用しています。

print $html_output;
exit(0);

そうするためにdrupalで推奨または最良の方法はありますか?

4

2 に答える 2

2

それでうまくいきます。ただし、最初にhook_exitを呼び出す必要があります。ただし、これはフレームワークをある程度短縮するものであり、単純なケースでは機能する可能性がありますが、フォームなどでは機能しません。

この方法を使用したのは、すでにjsonでエンコードされているデータを印刷する場合のみです。

于 2010-08-05T11:17:52.993 に答える
2

メニュー コールバックから返された HTML 出力のみを出力する必要がある場合は、次のコードが正しいコードです。

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

出力を Drupal が通常出力するブロックと一緒に表示したい場合は、コードを次のように変更する必要があります。

return $html_output;
于 2010-08-07T06:29:36.097 に答える