使用jQuery的ajax调用可以在不刷新页面的情况下使生活变得非常酷炫...但仍然有兴趣了解使用jQuery进行ajax调用的一些优缺点...
由于我在我的网站中使用ajax调用来进行所有添加、编辑和删除操作,目前它运行得非常好...但了解缺点将使在部署期间更加轻松...
使用jQuery的ajax调用可以在不刷新页面的情况下使生活变得非常酷炫...但仍然有兴趣了解使用jQuery进行ajax调用的一些优缺点...
由于我在我的网站中使用ajax调用来进行所有添加、编辑和删除操作,目前它运行得非常好...但了解缺点将使在部署期间更加轻松...
优点:
在许多情况下,网站上相关页面之间存在很多共同内容。使用传统方法,每次请求都需要重新加载该内容。然而,使用Ajax,Web应用程序可以只请求需要更新的内容,从而大大减少带宽使用和加载时间。
使用异步请求允许客户端的Web浏览器UI更加交互,并快速响应输入,页面的各个部分也可以单独重新加载。即使应用程序在服务器端没有改变,用户可能会感知到应用程序更快或更具响应性。
使用Ajax可以减少与服务器的连接,因为脚本和样式表只需要请求一次。[12]
可以在整个网站中维护状态。JavaScript变量将持久存在,因为主容器页面不需要重新加载。
缺点:
由于它们的动态特性,与静态页面相比,Ajax界面通常更难开发。使用连续的Ajax请求动态创建的页面不会自动向浏览器的历史引擎注册,因此单击浏览器的“后退”按钮可能无法将用户返回到Ajax启用页面的早期状态,而是可能将其返回到最后一个完整页面之前访问的页面。解决方法包括使用不可见IFrames来触发浏览器历史记录中的更改,并在运行Ajax时更改URL的锚部分(在#后面),并监视它以进行更改。嗯,jAndy似乎已经掌握了优势,而您似乎已经意识到这些优势,否则您就不会使用它。
缺点是,如果您正在加载整个页面(是的,通过一些更多的JS技巧也可以解决此问题),它会破坏您的浏览器后退按钮。但是,如果您的整个网站都依赖于ajax,则在禁用JS时可能无法正常工作。此外,它不会产生非常好的URL。如果您想将朋友链接到ajax密集型网站中的特定页面,并且假设您已经通过JS技巧使其成为可能(修改#字符后的URL),它仍然必须首先加载主页,然后等待JS启动,然后才能ajax加载您真正感兴趣的内容。我发现这实际上会导致更慢的响应时间,我完全不喜欢。我喜欢ajax,但我不喜欢它用于全页面内容。
历史悠久的浏览器和规范之间的战争导致了真正的混乱。作为开发人员,当我们意识到我们花费更多时间解决跨浏览器特定问题而不是解决编程业务逻辑/问题时,我们就会理解这一点。
+ve
-ve
希望有所帮助,