nodejs取得パラメータreq.query,req.params,req.paramの違い

1935 ワード

nodeの使い方では、必ずパラメータを使って取得する方法がありますが、以下の四つの方法を紹介します.
まず、生ノートでget/post要求パラメータをどうやって取得しますか?
1.処理get要求パラメータ
nodeは自分のコアモジュールがあります.ここでurlモジュールを使いました.
url.parse()方法は、一つの完全なURLアドレスを多くの部分に分けて、よく使われるのは、host、port、pathname、path、queryです.一つ目のパラメータはアドレスで、二つ目のパラメータはデフォルトではfalseで、tureに設定すると、そのquery属性は照会文字列フォーマット(「a=1&b=2」)からオブジェクト形式に変換されます.
したがって、nodeのget要求パラメータのオブジェクトを取得する方法は以下の通りである.
var urlObj = url.parse(req.url ,true);
var query = urlObj.query;
2処置post要求パラメータ
postパラメータの対象を得るには、第三者パッケージquerystringが必要です.
//1.           
var data = '';

//2.  data      (             ,        )
req.on('data', function (chunk) {
    // chunk           ,  data       toString
    data += chunk;
});

// 3.              ,         
//  end  ,                
//  querystring url      (  url & =      ),      
req.on('end', function () {
    console.log(data);
    var dataObject = querystring.parse(data);
    console.log(dataObject);
});
express取得パラメータ
1.要求パラメータオブジェクトreq.queryの取得
edit.html id=1で、検索文字列を取得するExpressはルートとミドルウェアのWebフレームです.Expressアプリケーションは本質的に一連のミドルウェア機能呼び出しです.我々のために強力なAPI、解析要求を提供します.
req.query;
注意:針はgetに対してだけではなく、リンク後にフロントエンドが照会文字列でバックグラウンドに伝達されているものであれば、このように取得できます.
2.post要求パラメータオブジェクトreq.bodyを取得する
expressを配置する解析フォームのpostデータが必要なミドルウェアのbody-parser body-parserはexpressでよく使われる中間ウェアで、フォームのpost要求データbody-parserを解析して、異なるタイプの要求体、異なる符号化、異なる圧縮タイプなどを処理するために使用されます.
//  
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

//  
req.body;
req.params
一般的にget要求であり、アドレスを変更せずに、フロントエンドでインターフェースを起動してパラメータを転送するためのものです.
//        
.get('/api/product/remove/:id', api.removeProduct);
//  ajax    
'/api/product/remove/'+ [  ]
//   api.removeProduct      
 req.params = {id: 111};