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。

 

posted @ 2018-06-01 16:49  寻觅beyond  阅读(312)  评论(0编辑  收藏  举报
返回顶部