获取url 参数

时间:2024-01-18 08:30:08

epresssjs 里面请求参数,4.x 里面有3种方法

1.req.params

app.get('user/:id',function(req,res){
res.send('user',req.params.id);
})

也就是取带冒号的参数

2.req.body

包含在请求正文中提交的数值键对,默认情况下 值为undefind ,当你用body-parse 等插件的来解析

var app=require('express')();
var bodyParser=reqyuire('body-parser');
var multer=require('multer'); app.use(bodyParser.json());//for parsing application/json
app.use(bodyParser.urlencoded({extented:true});//for parsing application/x-www-form-urlencoded
app.use(multer()(;//for parsing imultipart/for-data app.post('/',function(req,res){
console.log(req.body);
res.json(req.body);
})

req.body 一定是post请求,express 里依赖的中间件必须有bodyParser,不然req.body 是没有的,

3.req.query

说明:req.query 不一定是get

get
//get /search?q=tobi+ferret
req.query.q =>'tobi ferret'
//get /shoes?order=desc&show[color]=blue&shoe[type]=converse
req.query.order =>desc
req.query.shoe.color =>blue
req.query.shoe.type =>converse post
//post /search?q=tobi+ferret
{a:1,b:2}
req.query.q =>'tobi ferret'

post 里看不到的,用req.body取

3个例子:

1、例如:127.0.0.1:3000/index,这种情况下,我们为了得到index,我们可以通过使用req.params得到,通过这种方法我们就可以很好的处理Node中的路由处理问题,同时利用这点可以非常方便的实现MVC模式;

2、例如:127.0.0.1:3000/index?id=12,这种情况下,这种方式是获取客户端get方式传递过来的值,通过使用req.query.id就可以获得,类似于PHP的get方法;

3、例如:127.0.0.1:300/index,然后post了一个id=2的值,这种方式是获取客户端post过来的数据,可以通过req.body.id获取,类似于PHP的post方法;