Express獲取請求引數
阿新 • • 發佈:2019-02-06
HTTP請求的引數無外乎這麼幾種
1. query引數
2. form引數
3. path引數
4. matrix引數
5. cookie引數
6. header引數
這六種引數中,express暫不提供api直接獲取matrix引數。其餘五種都支援。但是header引數無法列舉。
簡單介紹下這些引數的獲取
- Query引數 Req.query
- Form引數 Req.body,需要用到外掛body-parser,程式碼:
var BodyParser= require('body-parser');
app.use(BodyParser.urlencoded({ extended: true }));
- path引數 Req.params
- matrix引數 無
- cookie引數 Req.cookies,需要用到外掛cookie-parser,程式碼:
var CookieParser = require("cookie-parser");
app.use(new CookieParser());
- 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外掛。