Request对象获得参数方法:query和body方法

express框架Request对象获得参数方法:query和body方法

  • req.query
    该属性用法很简单,直接获取地址栏传递的参数;例如:

    //引入依赖
    var express = require('express');
    /*var utility = require('utility');*/
    
    //建立express的实例,相当于创建了http服务器
    var app = express();
    // 地址栏: localhost:3000/search?q=tobi+ferret
    app.get('/search', function(req, res){
        //从req.query中取出我们的q参数
        //如果是post传来的body数据,则是在req.body里面,不过express默认
        //不处理body中的信息,需要引入https://github.com/expressjs/body-parser 
    /*var q = req.query.q;
    var md5value = utility.md5(q);
    res.send(md5value);*/
    var param = req.query.q;
    res.send(param);
    });
    
     地址栏: localhost:3000/shoes?order=desc&shoe[color]=blue&shoe[type]=converse
    /*app.get('/shoes', function(req, res){
        var order = req.query.order;
        var color = req.query.shoe.color;
        var type = req.query.shoe.type;
        console.log(order);
        console.log(color);
        console.log(type);
        res.send('hello world');
    });*/
                                                    app.listen(3000,function(req,res){
        console.log('app is run at port 3000');
    });
    
  • req.body
    该属性主要用于post方法时传递参数使用,用法最广泛,注意,在使用这个属性时,得先确认有没有导入‘body-parser’,该模块在express4.x中已经脱离为独立的模块。

    var app = require('express')();
    var bodyParser = require('body-parser');
    var multer = require('multer'); 
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true })); 
    app.use(multer()); 
    
    app.post('/', function (req, res) {
      console.log(req.body);
      res.json(req.body);
    })
    
  • jquery ajax传递参数到后台

    var id= '12345';
    $.ajax({
        type: 'post',
        url: 'username',
        data: {
            id: _id
         },
         success: function(data){
             var id01 = data.id;
             alert(id01);
         },
         error: function(data){
             console.log('error');
         }
    });
    

    后台数据:

    var express = require('exprexx');
    var router = express.Router();
    router.route('/username').post(function(req, res){
        var _id = req.body.id;
        console.log('_id');//12345
        res.json({result: 'success'});
    });
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值