2014-11-03 83 views
0

我做了一个ajax调用(非常简单),目前返回一个html字符串。根据谁调用它,这个字符串有时会变得很长。我想知道的是为什么最好返回一个JSON结果并在之后构建我的HTML,而不仅仅是返回一个长字符串。JSON对象或字符串结果集

+0

只需阅读你的陈述两次_这个字符串可以变得很长时间_ – Satpal 2014-11-03 06:29:54

+0

多久了?您可以使用AJAX检索完整的网站,而不会出现问题。这就是为什么它的异步! – 2014-11-03 06:31:45

+0

迄今为止最大字符数约为12K,大部分小于此数。 – 2014-11-03 07:22:51

回答

1

,而不是返回HTML的JSON的一些优点:

  1. 的数据可以用来作为分析或其它用途的数据,而不只是用于展示。
  2. JSON数据通常/通常比完整的演示文稿HTML小很多,因此您通过互联网传输的数据较少。
  3. 您在数据和演示文稿之间创建了分隔符,而不是将它们混合到一个API中。您的服务器返回一段单独的代码然后转换为演示文稿的数据。
  4. JSON数据可以在演示前更容易处理或修改(例如过滤,排序,标记,展开/折叠等)。
  5. 您可以对许多不同类型的演示文稿使用相同的JSON数据。如果您返回HTML,则演示文稿已经烘焙完毕,因此如果您需要其他演示文稿,则必须创建一个全新的AJAX调用。

如果你想要一个极端的方式来想一想,然后问自己,为什么数据库返回的原始数据和数据的不是一个HTML视图?这是因为你可以用实际的数据做更多不同类型的事情,因此,通过让数据只给出数据,然后使用不同的代码段来处理数据(分析数据,合并它与其他数据,基于它做出决定,呈现它用于查看等)。如果数据库仅返回数据的HTML视图,那么对数据执行所有其他操作将会困难得多。 Ajax调用也是如此,这实际上只是客户端访问数据。

+0

谢谢你回到我身边。但我的电话只是用于演示,不需要操纵所需的数据。考虑到客户端的浏览器更有效地处理一串HTML或处理JSON。或者,我们只是将鼠标悬停在JSON“通过互联网发送”更小的事实上 – 2014-11-03 07:36:45

+0

@I_understand_sometimes - 如果你只是在看“效率”,那么你必须定义你的意思,然后它可能取决于数据的确切构成,它有多大以及演示文稿如何工作。我猜测你无法从浏览器中分辨出这两种方式的区别。仅供参考,良好的编程设计不仅仅是设计当前设计所需的最低要求,而是以符合当前需求的方式进行设计,并且设计的方式可以用于将来许多其他可能的事情(我的观点关于使用JSON)。 – jfriend00 2014-11-03 07:47:08

+0

@I_understand_sometimes - 测量设计的灵活程度,问问自己,如果在几周内有人想要对数据进行排序或过滤数据或提供多个数据表示,将会有多少工作量。哪个设计方向会使得更容易添加/更改? – jfriend00 2014-11-03 07:48:45