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'});
});