当前位置: 首页 > 面试题库 >

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

伍成仁
2023-03-14
问题内容

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

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


问题答案:

在大多数情况下,您只需要发送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结构,不如直接对其进行克隆,然后对其进行填充。这样,您的模板将保持不变,并且可以重复使用它。



 类似资料:
  • 问题内容: 做AJAX的首选方法是什么。 如果是针对使用Jquery for AJAX用PHP编写的搜索页面 您将如何处理回应 a) 让响应包含所有相关的html /样式 要么 b) 发送纯JSON并使用javascript函数围绕javascript变量构建html /样式。 我可以看到两者的优势。“ a”显然更容易,而“ b”则更有效(尽管gzip可能使差异可忽略不计)。 问题答案: 我会说“

  • 问题内容: 哪种方法更快,要返回JSON中的ajax,然后处理JSON响应以呈现html,或者只是将Ajax响应中的原始html放在一堆中呢? 问题答案: 要看。在这两种情况下,服务器都只是返回带有文本的响应。如果响应的JSON版本比HTML版本需要更多字符,则该响应将需要更长的时间才能传输回客户端,反之亦然。 但是,当然还有服务器端脚本必须完成其工作。在您的情况下,从服务器端脚本生成JSON可能

  • 在Laravel5.8项目中,我尝试使用jQueryAjax函数将get请求发送到其中一个项目路由url,响应状态为200,这意味着请求已成功执行,但每次该函数返回当前视图HTML时都会响应 我试图删除我的php函数中的所有代码,只返回一个JSON响应,但仍然得到超文本标记语言我还试图将数据类型更改为JSON或文本,并将缓存设置为false,但响应仍然相同我甚至试图评论所有功能路由请求和相同的响应

  • 问题内容: 我正在为公司开发一个新的应用程序。该应用程序必须与iPhone之间交换数据。 公司服务器端使用.NET框架。 例如:特定CustomerNumber的类“ Customer”(名称,地址等)应首先从服务器下载到iphone,在本地存储,然后再上传回以应用更改(并使其他用户可以使用)。并发应该不是问题(至少在这个时候…) 无论如何,我必须同时开发服务器端(Web服务或其他)和iPhone

  • 问题内容: 我正在使用python / django作为具有复杂表单结构的后端。 我有一个角度控制器,该控制器使并要求获得合适的形式。我找到了一个django-angleular包,它将ng- model属性添加到输入中。因此,我正在服务器端使用表单呈现模板,并使用HTML提供响应。使用HTML作为响应可能不是最佳实践,但是它使事情耗时少得多。 所以我的问题是,我得到了带有形式的HTML响应和带有

  • 问题内容: 是否可以在PHP中处理来自AJAX请求的响应?我不是一个真正的JS开发人员,所以我正在用这个开发人员。 我有点黑了: }); 该功能似乎可以正常运行,它会向我发出有关正确数据的警报。 我需要能够将此输出给用户,以便可读。我发现很多指南都描述了替换数据,但就目前而言,直到选择child_id之前,没有数据。.然后我希望它以可读的方式显示上述数据。 我不知道如何开始使用视图文件(php)中