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。
如需转载,请注明文章出处,谢谢!!!