将请求与可能的不同返回类型组合的最佳实践

时间:2010-11-25 07:10:03

标签: ajax json events data-structures frameworks

背景

我正在开发一个利用AJAX获取内容/数据的网络应用程序以及你有什么 - 没有什么不寻常的。

在服务器端,可能会发生客户端JavaScript框架需要通知的某些事件,反之亦然。这些事件并不总是与用户的即时操作相关。不能等待下一页刷新将它们包含在文档中或将它们粘贴在某些隐藏字段中,因为用户可能永远不会提交表单。

现在它的设计是这样一种方式,即服务器之间的事件与用户的请求相差很长。例如,如果用户点击查看详细信息'链接这会向服务器发出一个请求,以获取一些HTML或JSON,其中包含有关所单击项目的详细信息。随着此请求或响应,服务器端(调用)事件将返回内容。

问题/问题1:

我不确定如何控制进入服务器的事件队列。它们可以与用户调用的事件一起运行,但如果不发生这些事件,事件将会丢失。我想在用户不执行某些操作的情况下设置计时器以将这些事件发送到服务器。你觉得怎么样?

问题/问题2:

关于响应,有些被请求为HTML,有些像JSON,它有点棘手,因为我必须以某种方式包装这些数据以允许形式化(和不相关)事件和HTML内容,取决于请求,返回客户端。有什么建议?我应该离开的任何东西,例如返回包装在JSON包中的HTML内容?

更新

您是否知道使用这种方法的任何框架,我可以看一下灵感(这是一个将包中的事件/请求与数据一起包装的框架)?

1 个答案:

答案 0 :(得分:0)

我现在正在处理类似的问题。在你的第一个问题上,我正在考虑在客户端实现某种计时器,该计时器在到期时对内容进行非周期性调用。

关于第二个问题,我通常只返回表示我需要的数据的JSON,然后通过操作Document模型来呈现它。我更喜欢保持一致。

至于最佳做法,我无法确定我所做的是或遵守任何最佳做法,但它适用于我们目前的要求。

您可能还想考虑让多个客户端定期对Web服务器进行异步调用所带来的性能影响。