您是Ajax JSON还是HTML?[关闭]

2021/01/27 18:51 · jquery ·  · 0评论

做AJAX的首选方法是什么。

如果是针对使用Jquery for AJAX用PHP编写的搜索页面

您将如何处理回应

a)让响应包含所有相关的html /样式

要么

b) 发送纯JSON并使用javascript函数围绕javascript变量构建html /样式。

我可以看到两者的优势。“ a”显然更容易,而“ b”则更有效(尽管gzip可能使差异可忽略不计)。

我会说“ a”是您最想坚持的选择。

在服务器端保持一致的模板要容易得多(您可以在非AJAX方案中重复使用它们)。

客户端模板并不是非常优雅(如果您打算这样做,我建议这样做:http : //ejohn.org/blog/javascript-micro-templating/

就样式而言,当页面加载时而不是内容加载时,我将包含一个缩小的样式表。

我会去的HTML:

  • 从json转换为html会使客户端变慢(并且您对用户客户端的性能一无所知)
  • 在json中执行此操作意味着您必须转换两次(从服务器的数据结构转换为json,然后从json转换为html)
  • 您可能确实已经渲染到服务器上已经存在的html,因此您拥有基础结构
  • 网络流量差异可以忽略不计
  • 您可以使用可以为您完成所有工作的库(例如,使用JQuery,返回html的ajax调用将变成jQuery('#div')。load(url))。

就个人而言,除非我需要以编程方式处理返回的数据否则我通常会从ajax调用返回HTML的代码段。例如:

  • 自动完成功能。返回一个JSON数据数组,使用javascript创建适当的元素。
  • 任何不真正请求数据但实际发布的东西。想到了在线编辑。我通常以JSON格式返回状态消息。

话虽这么说,显然我认为这两种选择都是有效的。我敢肯定纯粹主义者会不同意,但是有时候返回纯HTML就足够了。

默认情况下,我会选择Json。这是一种轻量级(低开销),易于实现的数据交换格式。您只需要一个良好的Object-to-Json库即可简化“ b”操作。

您在这里要问自己的重要问题是,您的目标是什么。你做

  • 希望通过网络获得更多流量,并减少客户端cpu使用率
  • 希望有更多的客户端cpu使用率和较少的网络流量

在这种情况下,另一个问题是,有多少人在呼叫您的网站。如果您每天有成千上万的页面访问,则应考虑减少有线通信量。

在大多数情况下,您不仅要生成HTML标记,还希望向客户端发送一些普通数据,您可以在中处理这些数据ECMA-/Javascript因此,JSON应该是您的首选(如果您不必处理巨大的数据块)。JSON重量轻,可以使用进行extremly快速解析javascript

因此,请重复自己一遍,是否要在服务器上生成完整的渲染标记并将其交付给客户端,还是让客户端执行工作取决于您计划做的事情。

静态页面是您正确猜测的静态信息。但这意味着客户端/浏览器不使用cpu。因此,如果您不需要/不想具有“动态”页面行为,那么使用静态页面就可以了。

JSON方法之所以吸引人,是因为数据和表示的逻辑分离。如果将来需要更改样式(表示形式),而这不可避免地会发生,那么JSON数据就不需要更改,不是吗?

本文地址:http://jquery.askforanswer.com/ninshiajax-jsonhuanshihtmlguanbi.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!