代码之家  ›  专栏  ›  技术社区  ›  Krisna

Node express Typescript:邮递员不断发送post请求

  •  1
  • Krisna  · 技术社区  · 3 年前

    image . 我看不出我的代码有什么问题。我不知道post请求有什么问题。附言: This is my first time I am using node-typescript express server

    这基本上是我所有的快递代码

    import express, { Application, Response, Request } from 'express';
    import cors from 'cors';
    import morgan from 'morgan';
    import helmet from 'helmet';
    
    
    const app: Application = express();
    const port = 8000;
    
    
    app.use(cors());
    app.use(morgan("common"));
    app.use(helmet());
    app.use(express.json());
    
    
    app.post('/api', (req: Request, res: Response) => {
    
       console.log(req.body.Item); // I get the data
    
     
    })
    
    app.listen(port, () => {
      console.log(`App listening at http://localhost:${port}`)
    })
    

    这是我的命令脚本

      "scripts": {
        "build": "tsc -p .",
        "start": "ts-node server.ts",
        "server": "ts-node server.ts"
      },
    
    2 回复  |  直到 3 年前
        1
  •  0
  •   Vikas Keskar    3 年前

    你没有结束你的任何请求。一旦请求得到处理,就需要发送响应。

    app.post('/api', (req: Request, res: Response) => {
       console.log(req.body.Item); // I get the data
    })
    

    更新上面的块如下,

    app.post('/api', (req: Request, res: Response) => {
       console.log(req.body.Item); // I get the data
       res.send()
    })
    

    如果你想发送任何回应,你可以把它传递给 发送

        2
  •  0
  •   negin motalebi    3 年前

    你收到的所有请求 express 应该结束以关闭您的发送请求。所以要结束您的请求,您可以使用 next() 或发送响应作为 res . 例如,如果您想使用 方法,则必须将其添加到参数列表中,并在块末尾调用它:

    app.post('/api', (req,res,next) => {
    
       console.log(req.body.Item); 
       next();
     
    })
    

    this reference