使用MVC的搜索引擎:使用JSON和渲染客户端的优点和缺点

时间:2012-12-23 15:55:40

标签: asp.net-mvc-4

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

使用基于JSON的视图渲染系统有哪些优缺点?

2 个答案:

答案 0 :(得分:1)

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

肯定有很多问题需要回答,例如如果客户浏览器不支持JavaScript(即禁用JavaScript),您会提供其他渲染方法,或者假设所有客户都启用了JS(例如,对于Intranet应用程序,您可以做出这些假设)。

如果您查看Google的搜索,他们会采用非常相似的方法 - 搜索结果将作为JSON响应并在页面中构建演示文稿。

答案 1 :(得分:1)

使用完全烘焙的JSON解决方案是一个合理的选择,特别是考虑到您正在构建一个可能不需要自己编制索引的搜索引擎。使用仅限javascript的解决方案会限制(其他)搜索引擎充分索引网站的能力,如果这对您很重要,则是一种不太理想的方法。作为JSON提供卸载将一些处理卸载到客户端,从而可以使您的服务器更高效,因为它可以呈现更简单的JSON,而不是生成HTML。

我将采取的方法是逐步增强。使用服务器端视图传递结果的第一页,然后通过AJAX传递后续页面 - 作为JSON结果传递并在客户端创建标记或在服务器端呈现HTML并插入DOM中的适当位置。如果您在此方案中选择JSON,则需要意识到您将在客户端和服务器中复制视图呈现代码。

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