簡體   English   中英

如何從路由器發送請求參數? Express.js

[英]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 沒有名為requestresponse的默認值。 那些 arguments 在調用這個中間件時由 Express 傳遞。 您不會也不應該嘗試為它們分配默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM