我是否真的需要将ajax用于非页面加载网站?

时间:2014-07-27 19:17:25

标签: javascript php mysql ajax page-load-time

直截了当,我正在设计一个使用PHP的在线测试系列(/ objective考试)网站。我想在这里告诉你的是,我想立刻加载整个测试系列,以便在开始测试后,用户不必等待下一个或前一个问题。 (我试图用ajax做到这一点)。我还维护用于跟踪的“问题地图”,并让用户知道所附的演示GUI图片中的尝试问题。

DEMO GUI FOR TEST SERIES WEBSITE

现在我有2个问题.. 1)真的可能吗?如果系统正在加载下一页而不调用数据库,则维护问题图(如ajax那样) 2)怎么样。我是否真的需要将ajax模板用于我的目的。

注意:我想要的只是加载没有/最小页面加载的新问题,但保持正确的数据库调用。任何建议表示赞赏。或者任何新方法来实现这个目标?

1 个答案:

答案 0 :(得分:1)

首先,你似乎对AJAX有点困惑。 AJAX是客户端调用的主要方法。与使用服务器端语言(如PHP或C#w / ASP.NET)相反,您可以在页面加载后使用Javascript进行数据库调用。

您似乎要问的是,您是否可以在页面加载时加载大量数据,然后使用Javascript进行组织。这是完全可能的。但是,它需要大型数据库调用,以及用于存储数据的更多内存(RAM)以及加载数据的时间。 RAM因子应该相对较小,并且ajax只会提供微优化,只要您的数据相对有效地存储并且不是非常庞大。您应该注意,数据库调用很快就会变得昂贵。如果您选择在页面加载时加载所有数据,用户是否会使用所有这些数据?如果没有,那么你就是在浪费计算机的内存,加载页面所花费的时间,带宽,以及对你自己的数据库进行不必要的大量调用。

因此,您的主要关注点IMO应该是页面加载时间并减少对数据库的不必要调用次数。发送的数据量是否会对加载时间产生负面影响?你发送了数百条记录吗?如果您一次发送所有数据,用户是否会消耗所有数据(许多网站的跳出率为30-50%,这意味着30-50%的用户立即离开)?将数据分块并且在它们为下半年做好准备之前不发送一半数据会更好吗?

听起来你只是在调用一个小测验的数据,这是相对无关紧要的。例如。如果您加载20个问题和4个答案,您应该只使用服务器端调用。另一方面,如果有数百个问题,包含大量无关数据,那么也许你应该使用AJAX。