1.post请求——req.query
//form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8080/user" method='get'>
账号:<input type="text" name="name">
<input type="submit" value="提交">
</form>
</body>
</html>
//server.js
const express=require('express');
var server=express();
server.listen(8080);
server.get('/user',function(req,res){
console.log(req.query);
})
经测试,我们可以通过req.query
得到get请求的参数。
在express中,已经封装好获取get参数的方法,即req.query
,但是post请求的参数却没有被封装,需要我们借助中间件(body-parser)来获取。
2.post请求——中间件body-parser
express框架内置body-parser中间件,不需要在单独安装,我们可以使用它来获取post参数。现在我们修改form.html的method属性为post提交,然后修改server.js
const express=require('express');
const server=express();
const bodyParser = require('body-parser');
server.listen(8080,function(){
console.log('http://localhost:8080');
});
server.use(bodyParser.urlencoded()); //调用中间件
server.post('/user',function(req,res){
console.log(req.body);
})
经测试,我们已经可以通过req.body
得到post请求的参数。
1.express通过use来调用中间件server.use(中间件函数)
2.通过server.use(bodyParser.urlencoded())
调用中间件后,中间件的作用将会在下面所有的代码中生效,所以req会增加body参数
3.bodyParser其实还有很多参数配置,我们这里面并没有介绍,具体可以到github上面找到官方文档
作者:YINdevelop
链接:https://www.jianshu.com/p/6acc7c1ef1db
来源:简书