小编典典

AJAX响应:数据(JSON,XML)还是HTML代码段?[关闭]

ajax

我只是想知道AJAX响应的“理想”输出格式是什么?使用某些客户端JavaScript模板引擎将纯数据(JSON,XML)呈现到页面中?还是“按原样”呈现到页面的HTML代码段?

您的偏好是什么?为什么?


阅读 205

收藏
2020-07-26

共1个答案

小编典典

在大多数情况下,您只需要发送JSON(或相应的XML,我以JSON为例)。

  • 如果要发送股票报价等数据,请使用JSON。
  • 如果要使网络层保持精简,则发送纯JSON数据,然后让客户端完成添加标记的繁重工作。
  • 如果客户端页面是持久性的,则发送JSON。然后,客户端可以向Person.Name发送问候。它可以刷新Person.Score或显示一个表单来编辑Person.Status,所有这些仅处理一个Person对象。
  • 如果要公开Web API,则显然要使用JSON,以便客户端可以使用其执行任何操作。

如此说来,我真的不喜欢从JavaScript生成HTML。这是一场维护噩梦,我根本不喜欢将两者混为一谈。那么,如果要发送的是JSON,如何避免在JavaScript中生成HTML?如果要处理Person对象,则在首次渲染页面时,应将其渲染为:

...
<div class="person display">
    <div class="name"></div>
    <div class="status"></div>
    <div class="score"></div>
</div>
...

通过AJAX获取人员数据时,只需填充以上DOM结构即可。

如果您希望显示多个“人”的信息,则与其直接填充DOM结构,不如直接对其进行克隆,然后对其进行填充。这样,您的模板将保持不变,并且可以重复使用它。

2020-07-26