我正在获取JSON中的项目列表(通过AJAX)并通过JS创建所需的标记并附加到视图中。另一方面,我看到几个不使用这种做法的例子,并通过AJAX发送完整或部分完整的标记,然后简单地将它们附加到文档中。所以肯定是在服务器上生成标记。
所以我很好奇哪一个是更好的方法,为什么。我可以清楚地看到的一件事是,后一种方法不会将JSON结构暴露给UI。
答案 0 :(得分:0)
关于暴露json结构你是对的,但也许主要考虑的是加载时间,包括客户端和服务器端。如果服务器专用且功能强大,那么在服务器中生成标记将会很快并且会使网站在客户端保持活跃。 如果没有,您将希望客户端尽可能多地进行处理。在客户端生成标记并不是件坏事。 popukar angularjs框架在飞行客户端构建标记,非常有效。
答案 1 :(得分:0)
选择取决于几个因素,如
what we are trying to achieve
- 要求必须清晰。what is the amount of work involved with these choices alone
which choice will have better performance
which choice will get the job done quick
。 - 绩效因交付而受损让我们举个例子来解释一下。
1)创建一个表格以显示员工的所有详细信息。
这里由于这是一个独立的表,我们不必担心传递JSON然后在JS中编写逻辑来构建表。这可以在不需要JS的情况下快速完成。 - HTML胜利
2)创建一个表格以显示员工的所有详细信息。还可以构建动态条形图,以便在单击表中的任何行时显示员工组的详细信息。
此处的方案是在点击任何表格行的同时构建一个表格获取员工组并生成条形图以显示该组中的员工总数,或者可能是任何其他内容。
这里,如果我们只使用HTML构建表,那么为了得到条形图的数据,我们需要进行另一个服务器调用或者执行所有tr的for循环,然后通过单元格从每个单元格中提取数据。痛。
如果您使用JSON动态构建表结构,我们可以使用相同的JSON数据,然后快速构建图形而无需其他开销,因为我们已准备好操作数据。 - JSON获胜
这只是一个小例子。这个概念也是值得商榷的,它是开发者的选择和他所熟悉的,以及上面提到的其他一些因素。我想你会全面了解。希望这有用。