使用AJAX有什么缺点吗?
答案 0 :(得分:10)
没有与浏览器的历史记录集成。
答案 1 :(得分:8)
如果您构建一个需要 Ajax来查看内容和执行任务的站点,那么您有几个主要问题。仅限Ajax的内容/功能对以下内容不可见/不可用:
等等。
但是,如果您使用渐进增强原则构建网站,那么这些问题就会解决,您仍然可以为大多数用户提供易于使用的Ajax。
渐进式增强涉及首先使用裸骨(X)HTML 创建您的网站,类似于REST的原则(至少要求州的POST请求)变化)。简单的语义标记;忘记CSS和Javascript。
第一步是做到这一点,并让你的整个网站(或尽可能多的有意义)以这种方式很好地为搜索机器人和类似Lynx的用户代理工作。
然后添加可视图层:CSS /图形/媒体进行视觉润色,但不会显着改变原始(X)HTML标记;允许原始纯文本站点保持完整和正常运行。保持你的标记清洁!
第三是添加行为层:Javascript(Ajax)。为具有Ajax功能的JS的用户/浏览器提供更快,更顺畅,更好的体验...但只有那些用户。
答案 2 :(得分:2)
浏览器兼容性。
答案 3 :(得分:2)
对数据的异步访问意味着在每个操作组合中使事情变得更加正确。
javascript的依赖性使某些网站无法使用。此外,javascript性能可能成为资源有限环境中的瓶颈。
答案 4 :(得分:1)
用户可能无法通过客户端知道进行了AJAX操作,或者是否失败。从AJAX调用失败导致的客户端错误中恢复可能很困难。
答案 5 :(得分:1)
使功能测试真的很难。
答案 6 :(得分:0)
无法在没有“轮询”的情况下更新客户端,这意味着每隔X秒查询一次服务器。
答案 7 :(得分:0)
它需要javascript。你必须向你的朋友承认你是如何“Web 2.0”的。而不是硬核老学校:这是我的布局和导航框架的所有表格。
答案 8 :(得分:0)
是的,旧浏览器或没有启用javascript的浏览器不支持Ajax。如今,大多数浏览器确实支持Ajax - 甚至是iPhone上的移动浏览器。
对我来说最大的问题是Ajax增加了项目的复杂性。
那里有许多ajax库,它们可以让生活变得更轻松。在大多数情况下,这些库很容易用于创建“Hello World”应用程序。大多数时候由Ajax库保留的主要问题之一是(客户端)错误处理/日志记录。
对于较大的项目,开发人员必须了解库的内部,这为项目添加了新的学习规则。
答案 9 :(得分:0)
出于安全原因,我们的一些大客户采取了关闭javascript的公司决策。因此,没有AJAX是可能的。
如果您要为给定的客户端使用AJAX开发某些东西,请确保您的客户端可以使用javascript。
将您的应用程序限制为合理数量的浏览器和浏览器版本。
Crossbrowser兼容性会让你的生活变得悲惨。
答案 10 :(得分:0)
最终,问题在于它引入的是复杂性。 AJAX站点固有的大多数问题(书签,浏览器历史记录,优雅降级等)都可以通过良好的设计来克服,因此精心设计的支持AJAX的站点实际上没有任何缺点。问题是创建这样一个站点需要大量的设计和非常好的开发人员来管理复杂性。