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

Express项目运行报TypeError: res.send is not a function错误求助

问题定位
  • 核心原因是变量名冲突:你在POST路由的回调函数中,已经将res作为Express响应对象的形参使用,后续又通过var res=num1+num2声明了同名变量,直接覆盖了原来的Express响应对象,字符串类型的计算结果自然不存在send方法,因此触发报错。
  • 附加问题:req.body中获取的num1、num2都是字符串类型,直接相加会得到字符串拼接结果,而非数值求和结果。
修复方案

修改计算结果的变量名,避免与响应对象res重名,同时对传入的参数做数值类型转换,修复后的代码如下:

const express = require('express');
const bodyParser=require('body-parser');

const app=express();
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/' , (req , res)=>{
   res.sendFile(__dirname+"/index.html")
})
app.post('/' , (req , res)=>{
    var num1=Number(req.body.num1);
    var num2=Number(req.body.num2);
    // 修改变量名,不与res响应对象冲突
    var result=num1+num2;
    res.send('Ans is: '+result);
});
app.listen(3000,function(){
    console.log('running');
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:24:03