【发布时间】:2013-06-16 04:07:54
【问题描述】:
让我的 Index() 方法根据传入的接受/内容类型标头返回内容的正确方法是什么。
我目前有一个我正在尝试重构的应用程序,它有一个 Index() 方法和一个 JsonData() 方法。浏览器拉出这个“索引”页面,然后通过 Ajax 请求 /jsondata URL。我想将两者都放在 Index() 下,并根据传入的请求更改响应类型。在 MVC 4 下执行此操作的正确方法是什么?
注意:我们没有使用 Web API。
【问题讨论】:
-
我不建议这样做 - 您将两个完全不同的概念(返回页面或返回数据)组合到同一个名称中 - 它只会产生混淆。我会按照你的方式保留它 - 让
Index响应GET请求并返回视图,并让JsonData响应POST请求并返回数据 - 没有理由将它们组合起来。 -
Rails 一直这样做。就 REST 而言,HTML 表示与 JSON 或 XML 有何不同。 stackoverflow.com/questions/3672111/…
-
只是我的看法——你说得对,HTML 在技术上只是数据。我只是发现尽可能将 UI 与数据分开对我来说更有意义。
标签: c# .net ajax asp.net-mvc asp.net-mvc-4