2

そのように設定されたリチウムアプリがあるので、

return($data) 

リチウムview.html.phpで次のように使用できます

echo $data

または、リクエストヘッダーの「accept」が「json/javacript」に等しい場合、次のようなものが返されます

{
data: { a:'b' }
}

自動的。

残念ながら、テスト アプリとして作成した新しいアプリでは、フローが発生していません (常に HTML のみが返されます)。

少し調査した後、コメントを外すと自動的に行われるはずのようです

require __DIR__ . '/bootstrap/media.php';

内部 bootstrap.php しかし、それはうまくいきませんでした。まだ HTML が返されています。リチウム フレームワークの最新バージョンをダウンロードしました (1 ~ 2 か月前にダウンロードした可能性があります)。

JSONによる自動応答に何らかの設定が必要かどうかは誰にもわかりますか?

4

2 に答える 2

2

render() を呼び出すときに、type を $this->request->accepts() に設定することもできます。

return $this->render(array('type' => $this->request->accepts()));
于 2012-03-18T13:47:42.280 に答える
2

http://dev.lithify.me/lithium/tickets/view/353から取得

その後、リチウムドキュメントから取得されます

自動コンテンツ タイプ ネゴシエーション (つまり、HTTP Accept ヘッダーの値に基づいて応答のコンテンツ タイプを決定する) を有効にするには、'negotiate' フラグを true に設定します。それ以外の場合、応答はリクエスト オブジェクトのタイプ パラメータにのみ基づいています (リクエスト パラメータにタイプが存在しない場合、デフォルトは「html」になります)。

http://li3.me/docs/lithium/action/Controller ::$_render

実装方法についてさらにヘルプが必要な場合は、コメントを残してください。

于 2012-03-18T07:15:58.313 に答える