我有下面的ajax调用。

jQuery.post('index.php',{
                        'option'    : 'com_one',
                        'controller': 'product',
                        'task'  : 'loadColors',
                        'format'    : 'raw',
                        'design_id' : design_id,
                        'collar_id' : collar_id
                }).success(function(result) {
                    jQuery('div#color_wrapper').html(result);
                }).error(function() {
                    jQuery('div#color_wrapper').html('<h1>ERROR WHILE LOADING COLORS</h1>');
                });

方法1
它返回大量的HTML。然后这些被分配给div#color_wrapper。我在这里做的是echo在model.php中需要的所有HTML。
方法2
我刚刚知道,我可以将数据作为JSON对象获取,并使用JavaScript模板在页面内呈现它们。(handlebarsjs)。
据我所知,这是客户端处理(方法2)与服务器端处理(方法1)。
我的问题是哪种方法更快?哪种方法是行业标准?这两种方法有什么利弊吗?我应该用什么方法?为什么?
谢谢

最佳答案

我认为JSON方法更好,因为对于连续的请求,要传输的数据更少。
如果你真的那么在意表现,你应该precompile your templates
此外,如果您预编译模板,甚至不必向客户机发送handlebars.js。你可以发送一个更小的handlebars.runtime.js到浏览器,进一步减少加载时间!

07-24 09:50
查看更多