一个JSON调用应该检索多少数据?

9-b*_*its 6 ajax performance json getjson

当通过json调用获取项目列表时,最好使用几个小调用(根据需要获取信息)或一个包含所有数据的大调用.

例如,您有一个json调用来获取与特定标题关键字匹配的书籍列表.有100个结果.您将以分页形式显示数据 - 每个"页面"10个结果.拨打一个电话并获得所有结果或在每个页面上拨打下一个10的电话会更有效吗?

我认为这部分取决于有多少结果.如果它是一个巨大的数字,第二个选项似乎很清楚.但是,对于一次通话中可以获得的数量有多少限制--100,1000,10000项?

tda*_*ers 0

这取决于。

显然,您希望将带宽使用量保持在最低限度,但每个单独的调用也会产生开销。您必须做出一些有根据的猜测,最重要的是:您需要第 2 页到第 100 页数据的可能性有多大?

如果很有可能(例如,在 90% 的情况下,用户会点击同一结果集的许多页面),那么我会一次性下载整个结果,但否则,我会加载各个页面当你去时。

另一件需要记住的事情是延迟。每个ajax调用都有一定的延迟,具体取决于客户端和服务器之间的距离(在网络拓扑中,不一定是地理距离)。对于第一次加载,延迟是不可避免的,但之后,你需要问自己快速响应是否重要。在正常情况下,这是预期和可以接受的,但如果您的典型用例涉及在页面之间来回翻转很多,那么它可能会变得很麻烦,您可能会考虑购买快速性以获得更长的初始加载时间。

如果您想加载多个页面,但结果集太大(例如,数千或数百万页),您可能会考虑更复杂的方案,例如下载请求的页面和接下来的10个页面,或者立即下载请求的页面然后在后台预取接下来的 10 页。