4

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

  • 使用 JSON 编码(然后解码它们)并在 POST 变量中作为 JSON 字符串发送

或者

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

重要还是只是偏好?

4

4 回答 4

2

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

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

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

于 2012-05-30T14:56:16.633 回答
1

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

于 2012-05-30T14:58:33.210 回答
1

我想这只是个人喜好。

我没有听到任何关于性能或最佳实践的特别之处,比如将 JSON 与 POST 一起使用。从 AJAX 调用中发布表单时,我更喜欢使用普通的 POST 参数,除非它们的计数对我来说非常不舒服,我把每个都写下来——然后我使用 JSON...

但是每个项目都应该统一 - 一旦您决定使用 JSON,请始终使用它...

于 2012-05-30T14:53:31.940 回答
1

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

它最终不会产生相关的差异。

于 2012-05-30T14:53:56.483 回答