码迷,mamicode.com
首页 > 其他好文 > 详细

post请求和get请求content_type的种类

时间:2017-12-15 18:16:05      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:注意   query   scl   multi   接收   orm   case   tin   eth   

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表单提交的数据的。

post请求和get请求content_type的种类

标签:注意   query   scl   multi   接收   orm   case   tin   eth   

原文地址:http://www.cnblogs.com/learnings/p/8044330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!