post提交数据的四种编码方式
- application/x-www-form-urlencoded
这应该是最常见的post编码方式,一般的表单提交默认以此方式提交。大部分服务器语言对这种方式都有很好的支持。
app.post("/server",function(req,res){
req.on("data",function(data){
let key=querystring.parse(decodeURIComponent(data)).key;
console.log("querystring:"+key)
});
});
- multipart/form-data
这也是一种比较常见的post数据格式,我们用表单上传文件时,必须使form表单的enctype属性或者ajax的contentType参数等于multipart/form-data。
- application/json
axios默认提交就是使用这种格式。如果使用这种编码方式,那么传递到后台的将是序列化后的json字符串。
- text/xml
现在前后端数据交互用这种格式不多了,基本都是用的json。
原因有很多
其一是json轻量,便于解析,在前后端的解析成本基本为0,纯数据格式;
其二是json格式数据更小,节省带宽和传输时间,这无论对于服务器端还是客户端都是更好的选择;
其三是可读方面,json在数据量较小的时候可读性与xml不相上下,有些情况会更好一些,正适合前后端交互。