1. 程式人生 > >Express獲取請求引數

Express獲取請求引數

HTTP請求的引數無外乎這麼幾種
1. query引數
2. form引數
3. path引數
4. matrix引數
5. cookie引數
6. header引數
這六種引數中,express暫不提供api直接獲取matrix引數。其餘五種都支援。但是header引數無法列舉。
簡單介紹下這些引數的獲取

  1. Query引數 Req.query
  2. Form引數 Req.body,需要用到外掛body-parser,程式碼:
var BodyParser= require('body-parser');
app.use(BodyParser.urlencoded({ extended: true
}));
  1. path引數 Req.params
  2. matrix引數 無
  3. cookie引數 Req.cookies,需要用到外掛cookie-parser,程式碼:
var CookieParser = require("cookie-parser");
app.use(new CookieParser());
  1. header引數 Req.get(name)
    我寫了一段小程式碼試了下五種引數的獲取:
var Express = require("express");
var app = new Express();
// query param
app.get("/search"
,function(req,res){ res.json(req.query); }); // form param var BodyParser= require('body-parser'); app.use(BodyParser.urlencoded({ extended: true })); app.post("/search",function(req,res){ res.json(req.body); }); // path param app.get("/search/:path.html",function(req,res){ res.json(req.params); }); // cookie param
var CookieParser = require("cookie-parser"); app.use(new CookieParser()); app.put("/search",function(req,res){ res.json(req.cookies); }); // header param app.patch("/search",function(req,res){ res.send(req.get('Content-Type')); }); app.listen(8080);

測試工具可以使用Opera瀏覽器的RESTMAN外掛。