Nodejs express之参数接收

express的参数接收也是非常之方便

对于express共有三中形式的参数

1、直接get方式附在url?之后key=value形式的 xxx.xx?y=x

此种直接使用req.query.y就可以取到参数y的值了

2、路径参数,和类似路径 xxyy/name/pass,想对应的路由为app.get('/xxyy/:name/:psss')这时name和pass就为路径参数:name,name就为形参名,同样pass为形参名

对于此种方式的参数需要使用req.params.name 和req.params.pass就可以可以接收了(req.params['name'])

3、对于表单POST过来的参数,需要借助于中间件来接收,body-parser和multer,body-parse不能处理文件上传,multer可以处理文件上传,一把multer已经具有body-parser的功能

body-parser 首先需要安装 

npm install body-parser --save

// 导入express模块

var express = require('express');
// 创建app对象
var app = express();
app.use(bodyParser.urlencoded())
app.post('/bodyParams',function(req,res){
    console.log('嗯进来了')
    console.log('name:'+req.body.name)
    console.log('pas:'+req.body.pass)
})

然后就可以直接使用req.body.p参数名 来接收了,但是不能接收文件,

如果要上传文件需要使用multer中间件:

npm install multer --save

var express = require('express');
// 创建app对象
var app = express();
// 文件暂存目录(貌似muter已经具有了bodyParder的功能)
app.use(multer({'dest':'./dest'}))
app.post('/bodyParams',function(req,res){
    console.log('嗯进来了')
    console.log('name:'+req.body.name)
    console.log('pas:'+req.body.pass)
    console.log('av:'+req.files.avatar)
    res.end()
})

可以使用req.files.文件名称来访问文件了
multer具有了body-parser的接收普通表单post参数的功能和文件处理功能,但是multer只能处理enctype="multipart/form-data"表单
对于没有使用enctype="multipart/form-data" 的表单参数multer也是不能处理的,所以一般mutler和body-parser配合使用,body-parser处理表单
参数,而multer只处理文件





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值