Joomlaフレームワークを使用してWebアプリケーションの構築を開始しました。これは、iFrameに表示されるシンプルなWebページと、AJAXでコンテンツを更新するために使用されるAPIで構成されます。
私はComposerとJoomlaの入門をフォローしました!記事を読み、Framework Appを稼働させてください。デフォルトのHTML出力をiFrameで機能するようにカスタマイズし、APIを開始しました。ニュースをテンプレートとして使用し、APIのコントローラー、モデル、テーブル、ビューを作成しました。次に、次のようにデータのJSON表現を返す非常にシンプルなTwigテンプレートを作成しました。
{{ items|json_encode|raw }}
これまでのところ良好ですが、jQueryでAJAXを使用すると問題が発生するこのヘッダーが返されます。
Content-Type:text/html; charset=utf-8
これを追加するのは簡単なケースだと思いましたが、どこに置いても、返されるヘッダーは変更されません。
$this->app->setHeader('Content-Type', 'application/json', true);
名前を変更した場合と同じようにsetHeaderが機能していることはわかっています。新しいヘッダーが返されるので、後で実行時に上書きされると思います。
だから私の質問は、私はこれを正しい方法で行っているのですか?私のビューは間違っていると感じるDefaultHtmlViewを拡張します。DefaultJsonViewを作成する必要がありますか?どのようにして正しいContent-Typeを設定できますか、またはJSONを返すためのより良いアプローチはありますか?
Joomlaフレームワークを使用してAPIを構築するための最良の方法についてアドバイスをいただければ幸いです。