TypeError:无法解构 req.params 的属性 id,因为它未定义
2020-04-04
9569
我尝试从数据库获取用户配置文件,并在运行配置文件 URL(localhost:3000 / Profile / 1)时将其作为 json 对象返回。但我收到此错误: TypeError:无法解构 req.params 的属性 id ,因为它未定义。
这是 express 服务器中的代码。
const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcryptjs');
const cors = require('cors');
const knex = require('knex');
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.get('/Profile/:id', (res,req) =>{
const {id} = req.params;
db.select('*').from('user').where({id})
.then(user => {
res.json(user[0])})
})
我使用 postman 发送 get 请求。
3个回答
您向
get
函数传递了错误的参数
例如
// respond with "hello world" when a GET request is made to the homepage
app.get('/', function (req, res) {
res.send('hello world')
})
在您的情况下
app.get('/Profile/:id', (req, res) =>{
console.log(req.params)
}
Vivek Sengar
2021-05-12
我看到你的错误了,你输入的函数是 (res, res),但应该是 (req,res)。
José Salina
2021-04-14
参数的顺序是请求、响应,因此您必须这样做:
app.get('/profile/:id', (request, response) => {
const { id } = request.params;
db.select('*').from('user').where({id}).then(
user => {
res.json(user[0])
});
});
JuanDa237
2020-11-01