【问题标题】:nodejs - TypeError: res.statusCode is not a functionnodejs - TypeError:res.statusCode 不是函数
【发布时间】:2022-07-13 22:28:42
【问题描述】:

显然有重复的问题,但答案对我没有帮助。作为 nodeJS 和 Express 的初学者,要么有一些基本的东西我还不明白,要么正在发生一些奇怪的事情。

我有两条 Express 路线,第一条运行良好。但是当我开始研究第二个时,我在尝试使用“res”发送回 HTTP 状态代码时立即遇到了问题。

server.js 所有不相关的内容都已编辑:

const express = require('express')
const session = require('express-session')
const MySQLStore = require('express-mysql-session')(session)
const db = require('./database')

const route1 = require('./routes/route1')
const route2 = require('./routes/route2')

const sessionStore = new MySQLStore({}, db)

const app = express()

app.use(express.json())

app.use(session({
    // session settings
}))

// Routes
app.use('/api/route1', route1)
app.use('/api/route2', route2)

app.listen(process.env.PORT || 8000)

route1.js (所有不相关的内容都已编辑)

const express = require('express')
const db = require('../database')

const router = express.Router()

// Middleware
function validateData(req, res, next) {...}

async function validateUser(req, res, next) {...}

// POST data to db
router.post('/', validateData, validateUser, async (req, res) => {
    try {
        const results = await db.query(
            // Querry to db
        )
    } catch(err) {
        // Handle error
    }

    res.status(200).end()

})

module.exports = router

route2.js - 发生错误的地方 (所有不相关的内容都已编辑)

const express = require('express')
const db = require('../database')

const router = express.Router()

router.get('/', (req, res) => {
    res.statusCode(200).end() // TypeError: res.statusCode is not a function
})

module.exports = router

【问题讨论】:

  • 您在 route2.js 中有错字。你调用 res.statusCode(200) 而不是 res.status(200)。或者您可以通过 statusCode 设置它 - res.statusCode = 200;
  • 您可以使用res.statusCode = 200res.status(200)

标签: node.js express express-router


【解决方案1】:

它说得对。

res.statusCode 不是函数,它是 Node.js 原生变量:https://nodejs.org/api/http.html#responsestatuscode

表示有函数res.status(statusCode),即res.status(200);https://expressjs.com/en/api.html#res.status

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 2020-07-12
    • 2020-07-14
    • 2017-11-22
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多