仅通过Ajax Call调用action

发布于 2024-11-09 00:05:59 字数 191 浏览 0 评论 0原文

基于这个问题(链接 )我想知道仅使用 ajax 调用的 mvc 应用程序是否好?

谢谢, 佩德罗

Based on this question (Link) I want to know if is good to have a mvc application just using ajax call?

Thanks,
Pedro

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

木森分化 2024-11-16 00:05:59

这取决于上下文。以下是一些优点和缺点

优点:

  • 具有多个需要独立更新的部分的应用程序将更容易使用 ajax 调用编写,因为您不需要在回发时维护每个部分的状态。
  • 较小的网络请求 ->更好的性能
  • 不需要保持窗口的滚动位置,否则完整的回发将滚动到页面顶部

缺点:

  • 很难设计,以便可以将其当前状态添加
  • 为书签 搜索引擎无法导航
  • 后退/前进按钮无法正常工作相当多的努力
  • 需要启用 JavaScript

Martin

It depends on the context. Here are some pros and cons

Pros:

  • An application which has multiple sections which need to be updated independently will be easier to write using ajax calls because you don't need to maintain the state of each section over postback.
  • Smaller web requests -> better performance
  • No need to maintain scrolled position of window, a full postback would otherwise scroll to the top of the page

Cons:

  • Difficult to design so that its current state can be bookmarked
  • Not navigatable by search engines
  • Back/forward buttons don't work without quite a bit of effort
  • Requires javascript to be enabled

Martin

白云悠悠 2024-11-16 00:05:59

这一切都取决于您的项目。

这里没有好坏之分,但是你必须记住没有启用 JS 的用户。如果您依赖 ajax 进行所有应用程序交互,那么您必须为那些不使用 JS(未启用浏览器 JS)的用户执行单独的行为。

这总是会在控制器级别导致类似的问题:

 public ActionResult Index()
        {
            if (Request.IsAjaxRequest())
            {
                //Ajax Request
                //Return partial mostly for partial refresh of the page
                return View("PartialView");
            }

            //Regular Request
            return View("FullView");
        }

以及前面提到的一些 SEO 问题。

It all depends on your project.

There is no good or bad approach here, but you must remember users that does not have JS enabled. If you depend on ajax for all the app interactions then you must do a separate behaviour for those users that does not use JS (browser JS not enabled).

That always lead to something like this at controller level:

 public ActionResult Index()
        {
            if (Request.IsAjaxRequest())
            {
                //Ajax Request
                //Return partial mostly for partial refresh of the page
                return View("PartialView");
            }

            //Regular Request
            return View("FullView");
        }

And some SEO issues as mentioned.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文