问题描述
|
我有一个ajax调用,该调用当前返回我注入页面的原始html。
现在我的问题是,在某些情况下,我需要返回一个计数值以及原始html,如果该计数> 10,则需要触发另一个jquery操作以使某些内容可见。
最好的方法是返回json,然后对吗?所以我可以做:
jsonReturned.counter
jsonReturned.html
你同意吗?
另外,出于好奇,比起其他任何事情,json是否在性能上更昂贵?它只是具有属性的简单对象,只是询问而已。
解决方法
这个问题保留了一定的酌处权,但我认为返回JSON而不是原始HTML不会带来效率问题。如您所说,您可以轻松地返回多条消息,而无需进行额外的解析(例如,我经常会有状态,消息和数据)。
我没有任何数字,但是我可以告诉你我已经在非常繁忙的流量(数百万个请求)情况下通过AJAX使用JSON,而没有效率问题。
,我同意,json是必经之路。毫无疑问,这是对性能的打击。问题是:命中率可以忽略不计吗?我认为这可以忽略不计。如今,浏览器中的Javascript速度非常快。你应该没事的
,JSON可能比HTML更紧凑,因为方括号/引号对总是比最小的标签组合更简洁。
{}
/[]
,\"\"
v.s. <a></a>
。 2个字符对7是我书中的胜利。但是,如果您的数据需要使用ѭ5进行大量转义,那么JSON将是净损失,并且可能使给定字符串的大小增加一倍。
,额外开销的来源包括
旧版浏览器的JSON解析器的下载大小和加载时间
JSON解析时间。
HTML内容的下载大小较大,因为JSON字符串必须至少包含HTML字符串和引号。
知道这些对您的应用程序是否重要的唯一方法是测量它们。它们都不明显很大,并且都不超过O(n)。