小智 14
在处理POST数据时,有一件事是无用的重复:
例如,在POST中我们有:
partners[]=Apple&partners[]=Microsoft&partners[]=Activision
Run Code Online (Sandbox Code Playgroud)
我们实际上可以看到,这里有很多重复,就像我们发送JSON时一样:
{"partners":["Apple","Microsoft","Activision"]}
Run Code Online (Sandbox Code Playgroud)
59个字符与47个.在这个小样本中它看起来微乎其微,但这些节省可能会上升,甚至几个字节也可以节省一些数据.当然,在服务器端有解析数据,这可以解决差异,但我仍然看到这有时有助于处理较慢的连接(看着你,3G和EDGE).
我没有看到任何文件提交的提及,所以我想我会插话.FormData似乎是通过AJAX向服务器提交文件的标准方式.我没有遇到任何使用JSON的解决方案,但可能有一种方法来序列化/反序列化文件......
它可能取决于您的服务器端应用程序.您通常使用POST将数据发布到服务器,因此如何格式化下划线数据取决于您希望服务器如何处理它.POST提供了某种形式的key-> value协议,而在JSON中你可以提供更多.你也可以通过将它放在url中来使用GET传输json.
您必须将json视为数据写入的方式,而使用POST进行正常提交应该只为您提供传输数据的方式(当然,您可以滥用它的键 - >值功能来订购数据).
在HTTP之上存在协议,可以帮助您定义Web应用程序的接口.一个很好的例子是RESTfull http://en.wikipedia.org/wiki/Representational_state_transfer
特别是对于提交表单,我没有看到任何优点,POST是首先为此设计的.在某些情况下,您不仅要传输来自表单的数据,还要传输一些元数据,在这种情况下,json可能会通过以某种json格式编码表单数据(带元数据)来帮助您,但最后您仍然会滥用POST进行传输这个json数据.
希望我回答你的问题.
我没有看到基本表单提交有任何明显的优势。但当涉及到处理复杂的结构时,您将开始意识到组织数据的优势。
因此,如果您有简单的联系表单(姓名、电子邮件、消息),请坚持使用普通表单POST。但是,例如,考虑提交完整的用户简历,处理服务器端脚本中的大量变量非常烦人。
以下是在 PHP 中使用 JSON 的示例
//Here are the submission data
{
"personalInformation": {
"name": "hey",
"age": "20"
},
"education": {
"entry1": {
"type": "Collage",
"year": "2012"
},
"entry2": {
"type": "Highschool",
"year": "2010"
}
}
}
$CV_Data = json_decode($_POST['json_form'], true);
$CV_Data['personalInformation']['name'];
$CV_Data['personalInformation']['age'];
//Or you can loop
foreach($CV_Data['education'] as $entry){
$entry['type'];
$entry['year'];
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在这里使用 JSON 可以让您更轻松地处理数据。
| 归档时间: |
|
| 查看次数: |
16693 次 |
| 最近记录: |