Javascript TypeError:无法分解req.params的属性id,因为它未定义
我试图从数据库中获取用户配置文件,并在运行配置文件url(localhost:3000/profile/1)时将其作为json对象返回。但是我得到了这个错误:TypeError:无法对req.params的属性id进行分解,因为它是未定义的。 这是express服务器中的代码Javascript TypeError:无法分解req.params的属性id,因为它未定义,javascript,node.js,json,express,body-parser,Javascript,Node.js,Json,Express,Body Parser,我试图从数据库中获取用户配置文件,并在运行配置文件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 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请求。参数的顺序是request,Response,因此您必须执行以下操作:
app.get('/profile/:id', (request, response) => {
const { id } = request.params;
db.select('*').from('user').where({id}).then(
user => {
res.json(user[0])
});
});
我看到了您的错误提示,您输入了函数(res,res),应该是(req,res)。只需在第一行将“req”切换为“res”:
-->app.get('/Profile/:id',(res,req)=>{
req.params.id
它将在console.log(req.params)
内返回app.get
?res和req在函数中是错误的,应该是(req,res)=>{…
结果证明@George是对的,顺便说一句,我犯了一个愚蠢的错误。我立即更改了req和res,它成功了。谢谢大家。特别感谢George。