[英]How can I send a request parameter from a router? Express.js
我不知道如何將 function 中的請求參數發送到 Express 路由器,我嘗試使用“req.body.email”但不起作用,我目前正在學習,所以我會感謝你的幫助::)
錯誤:
ReferenceError: request is not defined
at Object.<anonymous> (C:\Users\Me\Documents\Programming\Web\Project\api\src\routes\auth.route.js:17:27)
Line error: condition: {name: request.body.email}
認證路由器:
const router = require('express').Router()
const controller = require('../controllers/auth.controller')
const userExist = require('../middlewares/userExist')
router.post('/register', [userExist({
condition: {name: request.body.email},
existRequired: false,
verifiedRequired: false,
message: "Email already exist."
})],
controller.register
)
用戶存在:
const User = require('../models/user.model')
const userExist = async ({condition, existRequired, verifiedRequired, message}) => {
return async (req = request, res = response, next) => {
const user = await new User({condition}).find()
if(existRequired && !user) return res.status(400).json({error: message})
if(verifiedRequired && !user.verified) return res.status(404).json({error: message})
next()
}
}
改變這個:
return async (req = request, res = response, next) => {
對此:
return async (req, res, next) => {
這些 arguments 沒有名為request
或response
的默認值。 那些 arguments 在調用這個中間件時由 Express 傳遞。 您不會也不應該嘗試為它們分配默認值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.