nodejsルート--getとpost要求

4579 ワード

get要求post要求
nodejs            ,       get   post  ,    nodejs          ,      nodejs      ,      ,    nodejs     get post   
ポスト要求:
node      ,             。      ,          。                ,   post         :
var alldata = "";
     req.addListener("data",function(chunk){
            alldata += chunk;
        });
       //      
      req.addListener("end",function(){
             console.log(alldata.toString());
             res.end("success");
         });
上の式から分かるように、nodejs受信フォームは二つの部分に分けてaddListenerがあります.一つは絶えずデータブロックを受信して、一つは全部受信したことを表しています.だから、元生はPOST処理を書いて、複雑です.二つのモニターを書きます.ファイルアップロード業務は書きにくいです.ファイルアップロードは第三者モジュール、formidableを使います.注意:ファイルのアップロードに関連している限り、フォームラベルに属性を追加します.でないと、アップロードは空です.
<form action="http://127.0.0.1/dopost" method="post" enctype="multipart/form-data">
次にこのコードはformidableモジュールを使ってフォームを受信して画像をアップロードします.
var http = require("http");
var formidable = require('formidable');
var util = require("util");//     


//     
var server = http.createServer(function(req,res){
    //           ,       post
    if(req.url == "/dopost" && req.method.toLowerCase() == "post"){
        //Creates a new incoming form.
        var form = new formidable.IncomingForm();
        //          
        form.uploadDir = "./uploads";
        //            ,           。
        form.parse(req, function(err, fields, files) {
            if(err){
                throw err;
            }
            console.log(fields);
            console.log(files);
            console.log(util.inspect({fields: fields, files: files}));
            //      、   ,  fields  ;
            //      ,files
            res.writeHead(200, {'content-type': 'text/plain'});
            res.end("  ");
        });
    }
});
server.listen(80,"127.0.0.1");
get要求
get        ,
var server = http.createServer(function(req,res){
    if(req.url === '/admin'){
        res.write('admin  ');
        res.end();//    res.end()              //       
    }   
}
前にも言ったように、urlにはいくつかのパラメータがあります.urlやpathモジュールを参照してもいいです.中にはurlの中の照会パラメータを取るためのインターフェースがあります.