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表單提交的數據的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM