先说下获取页面发送过来的参数,这个很关键,一般前台页面传递参数的方式主要就是2种,在URL中传递和get或post提交时传递参数。
第一种:在URL种的情况:
发送的是:htpp://root/name=hello
获取时使用:req.param(id)
完整一点的案例:
// 使用 req.param()获取参数
app.get('/about/:name',(req,res)=>{
var pathData = req.param('name');
res.send(pathData);
})
如果浏览器中打开的是:http://about/name=hello
那么获取到的参数就是:name=hello
第二种:通过get方式提交的参数使用req.query.id
完整案例:
app.get("/getData",function(req,res){
var resId = req.query.id;
var resName = req.query.name;
var resAge = req.query.age;
var data = {"id":resId,"resname":resName}
res.json(data);
})
如果在浏览器的地址中是:http://getData?id=101&name=hello&age=18
那么这三个数据就分别可以通过req.query.id req.query.name req.query.age
来获得。
第三种:通过post的方式提交的参数使用req.body.name
这种方式需要提前加载body-parser
// 引入json解析中间件
var bodyParser = require('body-parser');
// 添加json解析
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
完整案例:
app.post("/postData",function(req,res){
var resId = req.body.id;
var resName = req.body.name;
var resAge = req.body.age;
var data = {"id":resId,"resname":resName}
res.json(data);
})
好了,获取参数的方式上面的三种够用了。接下来说下返回纯HTML的文档:
其实只要注意使用一下:——dirname
这个参数就够了。
下面的案例是只要访问跟路径就返回index.html 的文档。
app.get('/',function(req,res){
res.sendFile(__dirname + '/index.html');
});
当然,返回一张图片就更简单了:
app.get('/img', function (req, res) {
res.sendFile(__dirname +'/public/horo.png');
});