服务器端还是客户端处理原始数据更好?


Is it better to do raw data to HTML processing serverside or clientside?

我目前有一个这样的设置:

服务端:

  1. 从MySQL中检索数据

  2. 通过生成HTML的循环运行数据。例如:

<div>
    Item 1:<br>
        Color: Red, Amount: 8, Cost: $15 each
    Item 2:<br>
        [...]
    [...]
</div>

Clientside:

用接收到的数据更新div的HTML: $("#details").html(result);

这样做会不会更好:

服务端:

  1. 从MySQL中检索数据

  2. 通过生成JSON对象的循环运行数据。例如:

{"result":
    "0":[{"Color":"Red"},{"Amount":"8"},{"Cost":"15"}], 
    "1":[...]
    [...]
}   

Clientside:

解析为HTML并用解析后的HTML更新div。所有交付的数据都将以某种方式被使用,并且最终结果将与服务器端解析的结果完全相同。一旦函数完成运行,JSON对象将被丢弃。

正如评论部分所提到的,这个问题没有正确答案。不管怎么做,你都不会更安全。通过AJAX调用提供HTML将使页面加载速度稍微快一些,因为大部分处理是在服务器端而不是客户端完成的,尽管最终我认为您不会看到任何一种方式的太大区别,但您当然可以尝试一下并找出答案。