【问题标题】:Express.js form request stuck on pendingExpress.js 表单请求停留在待处理状态
【发布时间】:2020-10-23 08:28:43
【问题描述】:

我正在尝试从表单中发布以表达,每次尝试时,无论如何,发布请求都会卡在待处理状态。

这是我简化的快速代码;

this.router.get('/register', this.rateLimit(1000 * 60, 25), async (req, res) => {
            res.render('register');
        });

        this.router.post('/test', (res, req) => {
            res.send('it worked')
        })

现在,我的摩根 logger 说它收到了 post 请求:Fri 19:24:16 [INFO] 127.0.0.1 [POST] /user/test

但它永远不会到达this.router.post 区域。通过记录等。如果需要,我可以提供更多代码。谢谢。

【问题讨论】:

  • 这里有类似的故事,好几个星期都没有解决方案。

标签: javascript forms express post request


【解决方案1】:

尝试添加 next(),如下所示:

 this.router.get('/register', this.rateLimit(1000 * 60, 25), async (req, res,next) => {
        res.render('register');
        next();
    });

    this.router.post('/test', (req,res,next) => {
        res.send('it worked');
        next();

    })

您应该使用 next() 将控制权传递给下一个中间件函数。 请参考documentation

【讨论】:

  • `ReferenceError: next 未定义在 C:\Users\User\Desktop\api\src\Routes\User.js:46:4 `
  • @JackCrispy 我已经更新了代码 sn-p.next 应该包含在回调函数中。
  • 嘿。我尝试将 next 放入寄存器,它说了一些关于在发送请求后设置标头的内容,所以我删除了它们,但在 /test 中,它没有改变任何东西,它仍然停留在等待状态。
【解决方案2】:

根据您的屏幕截图,您似乎遇到了 500 错误。你的服务器运行正常吗?很高兴能看到那个错误。

【讨论】:

  • 这更像是一个评论而不是一个答案嘿?
  • 是的,它运行正常,没有错误。请求停留在未决状态。
  • @JackCrispy - 您自己的屏幕截图显示从 /register 返回的 500 错误。那不是“正常运行”。
  • 这是我正在修复的错误。与此无关,无视。对/test url 的请求卡在pending 状态,注册无事。
猜你喜欢
  • 2017-10-11
  • 1970-01-01
  • 2016-12-28
  • 2013-04-23
  • 1970-01-01
  • 2019-11-09
  • 2015-09-17
  • 2022-08-03
  • 1970-01-01
相关资源
最近更新 更多