You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Express后端API遇用户注册错误:TypeError: res.status is not a function

解决 res.status is not a function 错误

可能的原因及修复步骤

1. 检查路由配置是否正确

确保你在Express路由中直接传递控制器函数引用,而非提前调用它。错误的调用方式会导致req、res对象无法被正确注入:

错误示例:

// 错误:提前调用函数,res未获取到Express响应对象
router.post('/register', userRegister())

正确写法:

// 正确:传递函数引用,Express自动传入req、res、next
router.post('/register', userRegister)

2. 修复代码拼写错误

你的代码里存在一处拼写错误:res.status(200).jsom 应改为 res.status(200).json,该错误虽不是当前报错的直接原因,但修复后才能正常返回JSON响应。

修正后的控制器代码:

import userModel from '../models/userModel.js';

const userRegister = async (req, res, next) => {
    try {
        res.status(200).json({
            success: true,
            message: "All work"
        })

    } catch (error) {
        console.log("Error in User Register", error);
        // 建议将错误传递给Express全局错误处理中间件
        next(error);
    }
};

export { userRegister };

3. 确认控制器参数顺序

确保控制器函数的参数顺序为 (req, res, next),Express会严格按此顺序传递对象。若顺序颠倒(如写成res, req, next),会导致res变量实际指向req对象,自然不存在status方法。

内容的提问来源于stack exchange,提问作者Aniket Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:48:30