在表单提交中,Ajax 比重新加载页面更快吗?

3
我有一个一般性的问题:无论页面大小(外部元素如图像、CSS文件、JS文件等),通过Ajax加载数据是否完全比加载整个页面以获取数据更快?
4个回答

7
正如已经提到的,使用AJAX方法可以避免重新加载大部分页面,包括脚本、样式和图片,即使AJAX请求和响应可能并不更快。
此外,值得注意的是,一个流畅、微妙动画的现代AJAX界面通常给用户的感觉比实际上更快。重新加载页面似乎有一种重置大脑的效果,而只是以平滑的方式更新页面的相关部分会使一切“流畅”地结合在一起。
这是非常主观的,我知道。任何好的设计师可能都有更好的解释方式。

5

@Spender是正确的,但主要原因在于您没有重新获取页面的图像、CSS、JS和任何其他资源。请求本身可能会更快,但最终呈现的效果不会。


2
是的。(尽管你没有具体说明更快的是什么)

1

是的,有两个主要原因。

实际上,AJAX总是更快的。不是请求本身;那大致相同。区别在于它只传输必要的最小量(如果写得好),不会重新启动整个页面(从CSS解析、渲染、构建整个DOM等),而且你可以在页面仍然可见的情况下在后台执行,这样你就可以做其他事情,比如动画或甚至提前更新,预测明显的结果。这对用户体验来说是一种福音。

但还有更多。

最重要的是顺序。当你加载一个页面时,标记首先到达,然后是脚本和样式,通常图像最后到达。只有在所有这些处理完成后,你的页面才会有真正的外观。现在当你使用AJAX改变(甚至整个)标记时,事情立即就位了,然后一些东西会因为你的浏览器意识到后果而发生变化。换句话说:页面重新加载在所有东西都完成后才会视觉上“完成”;AJAX更改立即显示出来。这就是它的真正威力。你已经拥有了所有的图片、所有的列表、所有的一切,而你只需要加载已更改的内容

因此:是的,它快得多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接