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

Node.js Express无法处理POST请求问题排查

问题:Express中POST接口无法通过浏览器直接访问的原因

我编写了如下Node.js Express代码,当使用GET请求方法时,访问http://0.0.0.0:3000/send能正常打印日志“Testing Here”:

const express = require('express')
const bodyparser = require('body-parser')

const app = express()
app.use(bodyparser.json())

const port = 3000

app.get('/send', (req, res)=>{
    console.log("Testing Here")
})

var server = app.listen(port, () =>{
    console.log("listening to port"+port)
})

但将请求方法改为POST后,代码如下:

const express = require('express')
const bodyparser = require('body-parser')

const app = express()
app.use(bodyparser.json())

const port = 3000

app.post('/send', (req, res)=>{
    console.log("Testing Here")
})

var server = app.listen(port, () =>{
    console.log("listening to port"+port)
})

此时在Chrome浏览器访问http://0.0.0.0:3000/send时,页面报错“Cannot GET /send”,且日志“Testing Here”未打印,请问这是什么原因?


原因分析

  • 浏览器地址栏默认发送GET请求:在Chrome地址栏输入URL回车访问时,浏览器会自动发起GET请求,但你的代码仅注册了/send路径的POST请求处理逻辑,没有对应的GET路由,因此Express找不到匹配的处理函数,返回Cannot GET /send错误,POST接口里的日志自然不会执行。
  • Express路由的严格匹配规则:Express的路由是同时匹配请求方法和路径的,只有当请求的方法(如GET/POST/PUT等)与注册的路由方法完全一致,且路径也匹配时,才会触发对应的处理函数。你的POST路由只会响应POST类型的请求,对GET请求无任何处理逻辑。

验证与解决方法

  • 测试POST接口:使用Postman、curl等工具发送POST请求到http://0.0.0.0:3000/send,就能看到控制台打印“Testing Here”。比如用curl命令:
    curl -X POST http://0.0.0.0:3000/send
    
  • 兼容GET请求:如果想要浏览器访问也能触发逻辑,可以同时注册GET和POST的路由处理,示例代码如下:
    const express = require('express')
    const bodyparser = require('body-parser')
    
    const app = express()
    app.use(bodyparser.json())
    
    const port = 3000
    
    // 同时处理GET和POST请求
    app.route('/send')
      .get((req, res) => {
        console.log("Testing Here (GET)")
        res.send("Received GET request")
      })
      .post((req, res) => {
        console.log("Testing Here (POST)")
        res.send("Received POST request")
      })
    
    var server = app.listen(port, () =>{
        console.log("listening to port"+port)
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:51:07