在整个GET / POST期间,AJAX是否保持状态?

时间:2010-10-06 17:55:12

标签: html ajax http web-applications

今天热烈的讨论。

  

开发人员1:“AJAX是一套工具,   在真正有用的地方使用它,而不仅仅是   为了它。“

     

开发人员2:“它差不多2011年,我们可以   构建丰富的桌面应用程序   在浏览器中,我们应该使用AJAX   到处都是一页   适用于所有内容的应用程序   AJAX驱动的组件。“

到目前为止我能理解的事情。这是我无法得到的地方。

  

开发人员1:“使用AJAX制作   单页应用,我们将不得不写   我们自己的代码来管理书签和   浏览器后退按钮“

     

开发人员2:“没问题,就是这样   很容易做到。这是值得的,因为   AJAX解决了我们遇到的问题   正常的GET / POST,无国籍。   使用单页AJAX应用程序,您可以   保持背景,你不需要   隐藏变量,沉重的会话   你搬家时的管理   页面之间“

Dev 2是对的吗? AJAX真的解决了'web'通常如何工作的问题吗?

3 个答案:

答案 0 :(得分:3)

没有

首先,网络运作方式没有问题。它被设计为无状态,即使使用单页AJAX应用程序,Web仍然是无状态的。

问题在于开发人员如何在无状态的Web环境中管理状态。单页面AJAX应用程序肯定使开发人员更容易管理状态(实际上,它完全避免了问题),这些用户能够在桌面应用程序中轻松管理状态。

但请记住,如果您有一个单页面的AJAX应用程序,并且忘记将状态发送回服务器以保持持久性,那么您将失去它......

在我个人看来,单页面AJAX应用程序还存在远远超过州管理优势的代码管理/可读性/可维护性问题。我宁愿学习如何在我的应用程序中正确地将状态从页面传递到页面,以处理包含我所有代码的单个页面的头痛。

答案 1 :(得分:1)

你回答了自己的问题:“AJAX是一套工具,在真正有用的地方使用它”

AJAX通过简化用户体验并允许开发人员控制流服务器端和客户端脚本来解决了许多问题。利用AJAX实现其最大潜力需要开发成本,其可行性取决于项目,要求,性能预期等。

Node.js也很可能彻底改变Web开发和Web脚本。如果Web开发项目有长期范围,那么请记住升级到未来技术的成本效益。

答案 2 :(得分:0)

一切都有时间和地点。将网页写入不加载新页面所有90%的时间都不合适。当然,Google Docs等Web应用程序也有例外......但是AJAX解决了这个问题,那就是“我只想更新页面的一小部分,我不需要再次加载整个页面”。

您必须了解用户的需求并实现期望。如果我发表评论,我真的不希望整个页面再次加载。这不是必需的。如果我想访问页面上的另一篇文章,那么我希望它完全转到另一个页面。

不要认为AJAX是一个全有或全无的解决方案。它就像传统的网页一样适合特定的需求,如果理解的话,这两者可以完美结合。否则,您最终必须编写代码来解决通常不存在的问题。