做AJAX的首选方法是什么。
如果是使用Jquery为AJAX编写的用PHP编写的搜索页面
您将如何处理回复
a)让响应包含所有相关的html /样式
或
b)发送纯JSON并使用javascript函数围绕javascript变量构建html /样式。
我可以看到两者都有优势。 'a'显然更容易,而'b'更有效(虽然gzip可能会使差异可以忽略不计)。
答案 0 :(得分:5)
我会选择html:
答案 1 :(得分:4)
我会说'a'是你最想坚持的选择。
保持一致的模板服务器端更容易(您可以在非AJAX场景中重用它们)。
客户端模板不是超级优雅(如果你打算这样做我建议:http://ejohn.org/blog/javascript-micro-templating/)
在样式方面,我会在加载内容时加载页面时包含缩小的样式表。
答案 2 :(得分:3)
就个人而言,我主要从ajax调用返回HTML代码片段,除非我需要以编程方式对返回的数据执行某些操作。例如:
话虽如此,显然我觉得这两种选择都是有效的。我敢肯定纯粹主义者会不同意,但有时会回归纯粹的'HTML就足够了。
答案 3 :(得分:2)
你在这里要问的重要问题是,你的目标是什么。你
在这种情况下,另一个问题是,有多少人在呼叫您的网站。如果您每天有数十万次网页访问,则应考虑减少网络流量。
在大多数情况下,您不仅要生成HTML标记,还要发送一些
您可以在ECMA-/Javascript
处理的客户端的普通数据。
因此,JSON
应该是您的首选(如果您不必处理巨大的数据块)。 JSON
是轻量级的,可以使用extremly
快速解析javascript
。
所以重复一遍,是否在服务器上生成完整的渲染标记并将其交付给客户端或让客户端完成工作取决于您打算做什么。
静态页面是你猜对了,静态的。但这意味着客户端/浏览器没有cpu使用。因此,如果您不需要/想要拥有“动态”页面行为,那么您可以使用静态页面。
答案 4 :(得分:2)
我默认会选择Json。它是一种轻量级(低开销),易于实现的数据交换格式。你只需要一个好的Object-to-Json lib来使'b'变得容易。
答案 5 :(得分:0)
由于数据和表示的逻辑分离,JSON方法很有吸引力。如果将来某个时候样式(表示)需要改变,这不可避免地会发生,那么JSON数据就不需要改变了,不是吗?