post请求和get请求content_type的种类

get请求的headers中没有content-type这个字段,post 的 content-type 有两种 :

    • application/x-www-form-urlencoded 
      这种就是一般的文本表单用post传地数据,只要将得到的data用querystring解析下就可以了
    • multipart/form-data 
      文件表单的传输,也是本文介绍的重点

获取POST数据 
前面已经说过,post数据的传输是可能分包的,因此必然是异步的。post数据的接受过程如下:

exports.processClientInput=function(req,cb){
method = req.method.toLowerCase();
if(method==="post"){
var urlstr="";
var jsondata;
req.addListener("data",function(postdata){
urlstr+=postdata;

});
req.addListener("end",function(){
jsondata = querystring.parse(urlstr);
cb(null,jsondata);
});
}else if(method==="get"){
var jsonData=urlLib.parse(req.url,true).query;
cb(null,jsonData);
}
}
第二个if就是get数据的解析方式。
注意,对于非文件post数据,上面以字符串接收是没问题的,但其实 postDataChunk 是一个 buffer 类型数据,在遇到二进制时,这样的接受方式存在问题。

但是现在的这种post处理数据的方式是解析不了form表单提交的数据的。

转载于:https://www.cnblogs.com/learnings/p/8044330.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值