0

JQuery の AJAX “.get” メソッドはコントローラーの (php ページ) メソッドを呼び出し、返されたデータはさらに処理されます.コントローラーは何も返さず、データをエコーし​​ません…では、この引数をどのようにサポートできるのでしょうか? 私は間違っているかもしれません..まだ最初の学習段階にあるので、質問が少し素朴すぎると感じた場合はご容赦ください:(。

1つの例。データベースからのユーザー名の配列を期待する実装しようとしていたJQueryのオートコンプリートプラグインです。通常、CI では、フローはビュー フォーム -> コントローラー -> データベース モデル (DATA) -> コントローラー (DATA) -> 別のビューです。ただし、JQuery/AJAX の方法を実装する必要がある場合は、コントローラーが出力する必要があります。 AJAX 呼び出し関数 (get) がデータを取得できるようにします。右?

では、MVC パラダイムに影響を与えないフローはどうあるべきでしょうか?

よろしく。

4

3 に答える 3

4

MVC は単なるデザイン パターンです。物事を簡単にする傾向があります。しかし、これはアプリケーションを設計する方法であり、それに固執する必要があるという意味ではありません。

私は Codeigniter を使用し、コントローラーを使用して ajax に応答します。私の場合、コントローラーはリクエストの受信とデータの返送を担当しています(ビューまたはテンプレートを呼び出しているかのように)。

考えすぎず、必要なものを、必要なときに、ニーズに最適な方法で使用してください。

于 2012-06-07T04:54:45.313 に答える
1

本当にmvcに固執したい場合のもう1つのオプションは、単にajax応答に使用するビューを持つことです。

単純に応答をエコーするか、json_encode()常に json を使用して応答する場合は、応答させることができます。

于 2012-06-07T08:03:13.967 に答える
0

Nicolás が指摘するように、MVC は設計パターンであり、法則ではありません。

ただし、AJAX はビューではなく、コントローラービュー、またはモデルビューの間の通信が行われる媒体であるトランスポートと考える必要があります。したがって、実際のViewは PHP ではなく、ブラウザ自体、またはその上で実行している JavaScript コードによって表されます。Zend JSON-RPC Serverのような RPC サーバーを使用して、PHP 側で AJAX を抽象化できます。

また、Web アプリケーションの場合、View と Presenter 間の通信を維持するため、Model-View-Presenter および同様のパターンがより役立つ場合があることに注意してください。

于 2012-12-31T17:54:29.500 に答える