Maison > Questions et réponses > le corps du texte
var express = require('express');
var bodyParser = require('body-parser')
var port = process.env.PORT || 3000
var app = express()
var path = require('path');
var mongoose = require('mongoose')
var _ = require('underscore')
var fs = require('fs');
var jsonParser = bodyParser.json()
var urlencodedParser = bodyParser.urlencoded({ extended: false })
mongoose.connect('mongodb://localhost/meetdb')
app.set('views', './views/pages')
app.set('view engine', 'jade')
app.use(urlencodedParser);
app.use(express.static(path.join(__dirname, 'public')))
app.listen(port)
// user 相关
app.post('/user/signup',function (req,res){
console.log(req.params)
console.log(req.body)
})
可以获取到req.body,但是无法获取到req.params。我看网上说的是可以同时获取query和body的值。
PHP中文网2017-04-17 16:28:45
据我了解,req.params
只有在参数化的路径中的参数。你想取的是查询字符串中的参数吗?
查询字符串中的参数要用 req.query
.
比如
// server.js:
app.post('/user/:id', function(req, res){
console.log('req.params: ', req.params)
console.log('req.query: ', req.query)
console.log('req.body: ', req.body)
})
// HTTP request:
POST /user/123?foo=1&bar=2
Content-Type: application/x-www-form-urlencoded
aaa=1&bbb=2
这样的请求,应该是要用 req.query.foo
和 req.query.bar
来获取 foo 和 bar 的值,最终打印出如下:
req.params: { id: '123' }
req.query: { foo: '1', bar: '2' }
req.body: { aaa: '1', bbb: '2' }
话说这种问题 console.log
的效率太慢,为啥不用断点:
看看用VSCode打断点查看变量爽爆了。