express的GET请求和POST请求
2017-06-15 本文已影响6758人
不要和我名字一样
GET请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。
POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。
1、get请求
/**
* Created by 黄森 on 2017/6/14.
*/
var express = require('express');
var app = express();
//get请求
app.get('/student',function (req,res) {
console.log(req.query);
res.send();
});
app.listen(3000);
当你在浏览器中输入访问的地址切带上参数后,都会通过req.query
打印出来,是一个对象.
2、post请求
post
请求要借助body-parser
模块。使用后,将可以用req.body
得到参数,使用模板引擎,表单提交。
首先先建一个form.ejs
,模板引擎必须创建在views
文件夹下.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="#" method="post">
<input type="text" name="name"/>
<input type="text" name="age"/>
<input type="submit"/>
</form>
</body>
</html>
接下来就使用POST
方式请求参数
引入 express
,body-parser
,在这里必须要有ejs
这个模块
var express = require("express");
var bodyParser = require('body-parser');
var app = express();
引入模板引擎,ejs
模板引擎使用app.set("view engine","ejs")
,而jade
模板引擎使用app.engine('jade', require('jade').__express)
这种方式;
//模板引擎
app.set("view engine","ejs");
app.get("/",function(req,res){
res.render("form");
});
//bodyParser API
app.use(bodyParser.urlencoded({ extended: false }));
app.post("/",function(req,res){
console.log(req.body);
});
app.listen(3000);
在这里使用req.body
将表单的参数打印出来。