GET请求在原生node中我们使用了path.query等查询方式,在express框架提供了极其简单的方式(req.query)就简单获取到了传递的内容;
//get请求
var express=require("express");
var app=express();
//模板引擎
app.set("views","mb");
app.set("view engine","ejs");
app.get("/",function(req,res){
res.render("get");//呈递表单(模板引擎内容)
console.log(req.query);
res.end();
});
app.listen(3000)
对于post请求由于无法在url地址传递,所以在原生node中极其复杂,实例addlisten,已经开始结束等拼接完成,在express框架中也未能提供一套完整的方案!但是相对之前的方案进行post请求方便不少!
首先我们需要引入一个"body-paparser"模块,其次我们需要使用req.body获取到post的参数!中间过程还需要中间件app.use来呈递一下其他内容,下面看一下实现方式
//post请求
var express=require("express");
var bodyParser = require('body-parser');
var app=express();
//模板引擎
app.set("views","mb");
app.set("view engine","ejs");
app.get("/",function(req,res){
res.render("post");//呈递表单(模板引擎内容)
});
//中间件呈递
app.use(bodyParser.urlencoded({ extended: true }));;
app.post("/",function(req,res){
// console.log(req.body);
res.json(req.body);
})
app.listen(3000)
● GET请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。
● POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。