通过可见性而不是Ajax来改变HTML内容是不好的做法

时间:2016-09-06 19:32:29

标签: javascript jquery html css ajax

我们都知道,如果我们想要浏览网站而不必每次都重新加载页面,那么Ajax请求会非常方便。但我想知道Ajax甚至是必要的吗?我们假设我有一个带有3个标签的SPA作为我的导航栏。每个选项卡一旦被点击,就应该向页面主体显示不同的内容。 什么阻止我渲染所有三个选项卡的整个页面标记并将每个选项卡主体设置为不可见。然后根据单击的选项卡,我显示该选项卡主体并隐藏当前选项卡(如果有)。 我知道在为每个标签内容提供明确的资源方面这将是非常糟糕的,但我不会对Ajax有这种情况吗? 另外,我们假设身体内容不是很重的内容,可以快速加载并且在第一次加载时不会花费很长时间。 此外,我想补充说,不涉及POST或其他请求。用户无法进行交互,而不是对内容进行GET。

我希望这是有道理的。 Ajax的好处是什么,只是简单地展示/隐藏JS的内容?

2 个答案:

答案 0 :(得分:1)

Ajax不仅仅是SPA渲染。这只是一个很小的用途。如果从用户发布新内容怎么办?好吧,它可以在没有页面刷新的情况下处理。在没有页面刷新的情况下,如何在其他地方看到更新?阿贾克斯。简而言之,正如你所说的那样,立即呈现所有内容都是好事......直到新数据出现。这仍然只是一个原因。

此外,如果用户不需要查看其他“标签”,该怎么办?浪费时间来渲染它。所以请根据要求进行渲染。

正如你在评论中所说,也许你的具体情况确实意味着AJAX没什么用处。这不是一个好的做法问题。这是我需要它的问题。

答案 1 :(得分:1)

这取决于其他两个标签中隐藏了多少内容。另外,您有多少确定您的SPA只有3个标签?或者标签会包含特定数量的数据?

如果它只是一些文字并且你确定它不会在以后很多,那么最好一次加载并点击标签切换。

此外,请确保img标记在隐藏时未分配src属性,因为您的浏览器会在需要之前请求它。单击选项卡后分配src属性。

因此,只要您确定自己的标签中包含少量数据,就不需要服务器提供新鲜内容,并且在实际查看标签之前不要加载图片我认为ajax load isn&# 39;必要的。一个简单的fadeToggle就足够了。它将带来更好的用户体验。