MVCモデルのコントローラーの役割は
「コントローラーは、ユーザーの入力に基づきモデルとビューを制御する役割を担っています。「クライアント」「モデル」「ビュー」の橋渡し役となります。」と言う事ですが
Jqueryのイベント操作$(セレクタ).clickなどにビューとモデルの橋渡し的な処理を書き、別ファイルに切り出した場合、そのファイルはコントローラーに置きますか、ビューに置きますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2022/05/04 02:50
2022/05/04 03:11

回答2件
0
フレームワークは何ですか? ASP.NET ならコントローラーに JavaScript というのはあり得ません。必ず View になります。他も同じだと思いますが。
【追記】
下のコメント欄の 2022/05/05 10:18 の私のコメントで「後でもう少し詳しい話を回答欄に追記しておきます」と書いた件です。
現在はフレームワーク等は使用していなくHTML/css/js(jquery)/phpで作ってます。ディレクトリ構成をMVCモデルを参考に整理してます
php ということはユーザーの要求に応じて動的に応答を生成して返す Web アプリを作っていて、それに MVC モデルを適用しようとしていると理解します。
であれば、Model, View, Controller はすべて Web サーバーに Web アプリとして実装されるのが普通だと思います。(普通でない話もあるでしょうがそれはちょっと置いときます)
即ち以下の図のような構成となり、ユーザーはブラウザを使って Web サーバー要求を出して、Web サーバーから応答をもらうことになるはずです。(図の矢印は実装によって変わってくるかもしれませんが)
上の図の構成では Controller に javascript を書くということはあり得ません。
javascript を書くなら View に書いて、View がブラウザに応答として返すコンテンツに含めて送信するということになります。
ブラウザではその javascript を使って、ajax で要求を出して画面の部分的な更新を行うとか遷移するとかは可能です。
Jqueryのイベント操作$(セレクタ).clickなどにビューとモデルの橋渡し的な処理を書き、別ファイルに切り出した場合、そのファイルはコントローラーに置きますか、ビューに置きますか?
というのは、ルーティング(ユーザーの要求とサーバー側の処理を紐づける処理)を行うことを考えてのことのようですが、上の図のような構成の場合は javascript の出番はありません。
上の図のような構成の場合、ルーティングはサーバー側の仕事で、サーバーで動くモジュールとかミドルウェアなどで行います。
投稿2022/05/04 02:08
編集2022/05/05 08:07
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2022/05/04 02:44

退会済みユーザー
2022/05/05 02:10 編集

退会済みユーザー
2022/05/05 06:13

退会済みユーザー
2022/05/05 10:45 編集

0
ベストアンサー
Jqueryのイベント操作$(セレクタ).clickなどにビューとモデルの橋渡し的な処理を書き、別ファイルに切り出した場合
せっかく切り出しんだからビューに置いたら切り出した理由が消滅する
なので消去法でコントローラーになるんじゃないですか
置き場に迷ってるって事は切り出し方が何かしらおかしいと思うので見直してみてはどうでしょうね
投稿2022/05/04 01:44
総合スコア6428
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。