nodejs 获取requerst数据

原文

nodejs 获取表单数据

Express表单处理

如果使用GET进行表单处理,表单域在 req.query 对象中。
如果有一个名称属性为email 的 HTML 输入字段,它的值会以 req.query.email 的形式传递到处理程序。
如果使用 POST (推荐使用的),需要引入中间件来解析 URL 编码体。首先,安装 body-parser中间件( npm install --save body-parser ),然后引入:

app.use(require('body-parser')());

一旦引入了 body-parser ,你会发现 req.body 变为可用,这样所有的表单字段将可用。注意一点, req.body 并不阻止你使用查询字符串。

为了演示,我们将使用查询字符串、一个隐藏字段以及可视字段,详见 /views/newsletter.handlebars:

<h2>Sign up for our newsletter to receive news and specials!</h2>
<form class="form-horizontal" role="form"
    action="/process?form=newsletter" method="POST">
    <input type="hidden" name="_csrf" value="">
    <div class="form-group">
        <label for="fieldName" class="col-sm-2 control-label">Name</label>
        <div class="col-sm-4">
            <input type="text" class="form-control" id="fieldName" name="name">
        </div>
    </div>
    <div class="form-group">
        <label for="fieldEmail" class="col-sm-2 control-label">Email</label>
        <div class="col-sm-4">
            <input type="email" class="form-control"  id="fieldName" name="email">
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-4">
            <button type="submit" class="btn btn-default">Register</button>
        </div>
    </div>
</form>

以上使用了Bootstrap,如果感到费解可以参考[Twitter Bootstrap 文档](http://getbootstrap.com)。

接下来看看示例1:

app.use(require('body-parser')());
app.get('/newsletter', function(req, res){
    res.render('newsletter', { csrf: 'CSRF token goes here' });
});
app.post('/process', function(req, res){
    console.log('Form (from querystring): ' + req.query.form);
    console.log('CSRF token (from hidden form field): ' + req.body._csrf);
    console.log('Name (from visible form field): ' + req.body.name);
    console.log('Email (from visible form field): ' + req.body.email);
    res.redirect(303, '/thank-you');
})

获取get数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值