rails 3 - 在页面加载时进行多个ajax调用而不是进行单个调用

时间:2012-01-08 04:42:19

标签: ruby-on-rails controller

我有一个页面,其中包含三个组件:建议的项目,建议的人员和帖子提要。当GET请求在此页面上出现问题时,我有两个选择:

1)在页面的控制器/操作中,我可以获取建议的项目,建议的人员和构成订阅源的帖子,然后一次显示包含所有数据的页面。


2)在页面的控制器/动作中,我做的不多。我可以在页面上使用ajax对建议项目的控制器/操作发出三个独立请求,为建议人员发出控制器/操作,并为发布后进行控制器/操作,并让他们的js.erb文件填充页面获取内容。

首先,选项(2)是否可能?如果是这样,似乎它更模块化,因为我可以将该逻辑重用于其他页面,这些页面也需要显示建议项目,建议人员等等......这显然是以提出更多请求为代价的。

建议使用哪种方法?优点缺点?

感谢。

1 个答案:

答案 0 :(得分:0)

那么任何一天我建议拨打一个电话而不是3个单独的电话。正如您所提到的,您有三个不同请求的成本,另一个原因是在某些浏览器上对域的并发连接数限制(对于IE7为2)。还要考虑一下您的网络服务器以及随着用户数量的增加它可以处理的最大请求。

此外,您仍然可以通过执行所有三个操作使其成为模块化,并且有一个操作可以调用这三个操作并聚合结果,如果可能的话,因为我对Rails架构不太确定。

希望这有帮助。