GET请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。 ● POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。 Node中全是回调函数,所以我们自己封装的函数,里面如果有异步的方法,比如I/O,那么就要用回调函数的方法封装。 错误: 1res.reder("index",{ 2 "name" : student.getDetailById(234234).name 3}); 4 5 正确: 6 7student.getDetailByXueHao(234234,function(detail){ 8 res.render("index",{ 9 "name" : detail.name 10 }) 11}); 12 1
12.js
/** * Created by Danny on 2015/9/22 14:37. */ var express = require("express"); var app = express(); app.get("/",function(req,res){ console.log(req.query);//识别参数字符串 res.send(); }); app.listen(3000);
13.js
/** * Created by Danny on 2015/9/22 14:37. */ var express = require("express"); var bodyParser = require('body-parser') var app = express(); //模板引擎 app.set("view engine","ejs"); app.get("/",function(req,res){//http://localhost:3000/ res.render("form"); }); //bodyParser API,使用中间件 app.use(bodyParser.urlencoded({ extended: false })) //post请求 app.post("/",function(req,res){ console.log(req.body);//req.body得到参数,{ name: 'ssss', age: 'vdvdvdv' } }); app.listen(3000);