十二、express post与get请求
2020-04-16 本文已影响0人
向上而活
get请求
get请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。
var express=require('express');
var app=express();
app.get('/',function(req,res){
//假设请求地址为 http://127.0.0.1:3000/?name=yangyi&age=18&sex=nv
console.log(req.query);
//输出 { name: 'yangyi', age: '18', sex: 'nv' }
res.send();
})
app.listen(3000);
post请求
POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。
html
<body>
<form action="http://127.0.0.1:3000" method="post" >
<!-- 只要涉及文件上传 form标签要加 enctype="multipart/form-data"-->
<p>
姓名:<input type="text" name="name">
</p>
<p>
性别:<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</p>
<p>爱好:
<input type="checkbox" name="hb" value="睡觉"> 睡觉
<input type="checkbox" name="hb" value="游戏"> 游戏
<input type="checkbox" name="hb" value="旅游"> 旅游
</p>
<!-- <p>
<input type="file" name="img">上传图片
</p> -->
<p>
<input type="submit">
</p>
</form>
</body>
js
var express=require('express');
var bodyParser=require('body-parser');
var app=express();
app.use(bodyParser.urlencoded({extended:false}));
app.post('/',function(req,res){
console.log(req.body);//{ name: 'yangyi', sex: 'nv',hb: '睡觉',}
})
app.listen(3000);