Node express链式操作
使用express框架接收POST参数
注意要使用body-parser模块的urlencoded方法,否则req.body是undefined。
const express = require("express");
const expressStatic = require("express-static");
const bodyParser = require("body-parser");
var server = express();
server.listen(8080);
server.use(bodyParser.urlencoded({
extended:false,
limit:2*1024*1024
}));
server.use("/",function(request,response){
console.log(request.query); //get方式传的参数
console.log(request.body);//post方式传的参数,前提是使用body-parser.urlencoded
});
server.use(expressStatic("./www"));
express链式操作
先看下面一个例子:
const express = require("express");
var server = express();
server.use("/",function(request,response){
console.log("first");
});
server.use("/",function(request,response){
console.log("second");
});
server.listen(8080);
访问根路径是,只会在后台输出first,并不会输出second。
但是express().use()的第二个参数function,这个function可以有第三个参数,可以使一个函数名,在function调用该函数,表示继续向下传递:
const express = require("express");
var server = express();
server.use("/",function(request,response,next){
console.log("first");
next();
});
server.use("/",function(request,response){
console.log("second");
});
server.listen(8080);
在function中调用传入的next,才会向下传递,如果不调用,就不会向下传递。next可以改为其他函数名。
调用next函数之后,向下传递是指继续调用使用use为该路径绑定的其他函数,比如这里的输出second。
如需转载,请注明文章出处,谢谢!!!
浙公网安备 33010602011771号