2012-03-17 105 views
-1

我在阅读关于IBM's website上的AJAX。下面是它说,Ajax的危险

如果应用程序无法沟通,这可能会让用户不确定 关于什么是实际发生的情况。如果他们点击表单提交按钮 而没有任何反应,他们可能会认为该网站已损坏。如果 应用程序未能通知发生了错误,则用户 通常认为其操作成功。这种假设可能导致 极端沮丧,如果现实情况是,动作没有成功 ,特别是如果用户刚刚花了很长的时间上 工作表单的内容。如果应用程序通知用户当有 错误或超时,至少用户有机会复制 并粘贴数据,并保存到本地,这样就避免了最坏的可能 的用户体验之一。

现在也可以同时使用JavaScript或HTML发生此问题。为什么作者将AJAX引用为Ajax can ruin your site

+0

我没有在该web上的任何位置找到“危险”或“危险”页。 – 2012-03-17 14:31:25

+0

它说:“Ajax可以破坏你的网站..” – 2012-03-17 14:32:24

+1

你引用的段落充分说明。如果你做错了,HTML也会毁掉你的网站。 – 2012-03-17 14:33:10

回答

1

这很危险,因为使用AJAX处理表单提交时,您正在改变通常的用户体验。当用户点击提交按钮时,您负责通知他们实际发生的事情(例如,放置一个加载gif)

如果请求失败,它也是您的责任,告知用户它失败了,并可能提供解决方案和信息。如果你不这样做,用户将无能,发生了什么事,他们不会知道,如果他们的表单提交真的做了,如果他们发送的信息已保存...等

AJAX是“危险”因为它完全依赖开发人员正常工作。

如果网络连接丢失例如,AJAX请求将失败,很多开发商忘记用计时器来检查这种事情,因此用户将被单独留在家中不知道究竟发生了什么。如果请求确实将其发送到服务器,但答案没有返回,则操作可能已完成(例如,注册新用户),但用户不知道。

1

因为您可以更确定您的本地JavaScript代码将按预期执行。但是,由于Ajax可能会受到网络拥塞和其他外部问题的影响,因此您无法确定。除非采取适当的预防措施(例如检查超时),否则可能根本不会调用某些功能,使用户感到困惑。

1

静态的JavaScript代码应该有每次它执行相同的结果(这真的取决于代码,但我们谈论的一般/ JavaScript的简单)。另一方面,AJAX总是受到影响其执行的外部因素(互联网连接问题/超时/服务器负载等)的影响。 我看到很多AJAX脚本没有处理超时或连接/读取尝试失败,导致挂起的“加载栏”(如果有的话)