post请请求和get请求不一样。express框架中想要直接取到post传值,需要借助中间件body-parser。
body-parser是一个HTTP请求体解析的中间件,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体。
js:
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());//数据JSON类型
app.use(bodyParser.urlencoded({ extended: false }));//解析post请求数据
app.all('*',function(req,res,next){
let origin=req.headers.origin;
res.setHeader('Access-Control-Allow-Origin',"*");//解决跨域
res.setHeader('Access-Control-Allow-Headers','Content-Type');
next();
})
app.post('/login',(req,res)=>{
console.log(req.body)
res.send('登录成功')
})
app.listen(3000,()=>{
console.log('Express web app on http://localhost:3000')
})
html:
<form method="post" action="http://localhost:3000/login">
<input name="username" type="text">
<br>
<input name="password" type="text">
<input type="submit" value="Submit">
</form>