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

Express Router中出现TypeError: res.json is not a function错误求助

错误原因排查:TypeError: res.json is not a function

核心问题出在./routes/posts.js的路由回调函数参数顺序上:

  • Express路由处理函数的参数顺序固定为**(req, res)**(请求对象在前,响应对象在后),你写反成了(res, req)。
  • 这导致变量res实际指向的是请求对象req,而请求对象并没有json()方法,因此抛出TypeError: res.json is not a function错误。

修正后的 ./routes/posts.js 代码

import express from "express";

const router = express.Router();

// 调整参数顺序为 req 在前,res 在后
router.get("/", (req, res) => {
  res.json("This works!");
});

export default router;

Express的路由回调严格遵循(request, response, next)的参数约定,请求对象负责承载客户端请求数据,响应对象用于构建并返回响应内容,颠倒顺序会导致变量指向错误的对象,从而引发方法不存在的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:15:34