从客户端向服务器发送变量| JSON vs POST

时间:2012-05-30 14:44:26

标签: php javascript ajax

如果我说客户端需要服务器端的1-5个变量,并且我通过ajax(Post Method)处理我的通信,那么我可以通过两种主要方式获得它们。

  • 使用JSON进行编码(以后解码)并在POST变量中作为JSON字符串发送

  • 只需为我需要发送的每个变量创建一个POST变量。

是重要还是只是偏好?

4 个答案:

答案 0 :(得分:2)

我认为这一切都归结为json将增加的开销量。如果您正在发布2,3或大约5个字段,那么只需使用普通的POST。否则,如果您尝试发送一些相当大的有意义的数据,使用JSON总是一个好主意。

基本上对于需要在服务器上进行计算的大量数据,最好使用JSON,因为解码它会给出一个数组数组,它​​只是更简单,而不是循环通过$ _POST数组。

此外,使用JSON进行编码并将信息发送到服务器是有意义的,尤其是当服务器执行计算/检查并发回一些响应时。在执行此操作时,最好发送使用JSON编码的响应而不是纯文本。使用JSON时,在POSTED数据中添加/编辑数据变得更加容易。

答案 1 :(得分:1)

我想这只是个人偏好。

在使用JSON和POST时,我没有听说过性能或最佳实践。 从AJAX调用中发布表单时,我更喜欢使用普通的POST参数,除非他们计算每个参数都非常不舒服 - 然后我使用JSON ......

但是每个项目应该是统一的 - 一旦你决定使用JSON,总是使用它......

答案 2 :(得分:1)

json的优点是它提供的封装和api。但是,与仅按原样发布值相比,序列化/反序列化可能会有一点开销。

最终没有相关的区别。

答案 3 :(得分:1)

反序列化JSON肯定会有开销,但并不多。我发现JSON比为要发送的每个值创建新变量要好得多。另外,我发现一旦你的JSON实现到位,缩放就容易得多了(即,当你因为某种原因必须在以后添加新值时)。