问题1
我将ajax和非ajax代码混合到同一个控制器中.这样你的代码在一个很容易找到的地方.
问题2
我将ajax和非ajax方法结合在一起.使其更容易使用javascript Progressive Enhancement,以免没有javascript的人仍然会发布到同一个控制器
问题3
你不应该有一个控制器50个方法.你应该有一个控制器的功能.所以一个用户控制器,一个Foo控制器,一个Bar控制器,所以你可能会得到10个轮廓,每个5个方法.这种方法属于它们功能特定的类.我有独立的意见,而不是一个大的观点.您不应该使用LOGIC内部视图来确定显示的内容,这是控制器的工作.但是一些控制器/方法可以返回与其他方法相同的视图
问题4
或者控制器不应输出HTML.使用MVC的全部视图来分离视图(渲染)关注的代码(控制器).有些时候,我的意见只是返回JSON或XML,然后我使用Javascript模板来更新DOM.其他时候我的视图返回HTML.例如在表单上保存功能.如果成功,可能只返回一个布尔值.然后我的Javascript将隐藏或显示DIV取决于响应.