1

我正在为我的项目实现一个搜索引擎,并且需要根据用户选择显示不同类型的搜索结果,例如图像、视频和文本。我正在考虑为每种搜索类型设置单独的视图模型并将 Json 结果返回到视图。然后在客户端,解析结果并相应地显示结果。

使用基于 JSON 的视图渲染系统的优缺点是什么?

4

2 回答 2

1

我认为您选择的方法非常好。

肯定有很多问题需要回答,例如,如果客户浏览器不支持 JavaScript(即 JavaScript 被禁用)怎么办?您会提供替代呈现方法还是假设所有客户都启用了 JS(例如,对于 Intranet 应用程序,您可以这样做假设)。

如果您检查 Google 的搜索,他们有非常相似的方法 - 搜索结果以 JSON 响应的形式出现并在页面中构建演示文稿。

于 2012-12-23T16:06:30.237 回答
1

使用完全成熟的 JSON 解决方案是一个合理的选择,尤其是考虑到您正在构建一个可能不需要自行编制索引的搜索引擎。使用纯 javascript 解决方案会限制(其他)搜索引擎充分索引站点的能力,如果这对您很重要,那么这是一种不太理想的方法。以 JSON 形式交付将一些处理卸载到客户端,因此可以提高服务器的性能,因为它可以呈现更简单的 JSON,而不是生成 HTML。

我将采取的方法是渐进式增强。使用服务器端视图交付结果的第一页,然后通过 AJAX 交付后续页面 - 作为 JSON 结果交付并在客户端创建标记,或者作为 HTML 呈现在服务器端并插入到 DOM 中的适当位置。如果您在这种情况下选择 JSON,您需要意识到您将在客户端和服务器中复制视图呈现代码。

如果您选择采用完整的客户端方法,您可能希望使用类似http://knockoutjs.com/的框架。这将允许您使用客户端 MVC 方法。

于 2012-12-23T16:14:12.040 回答