javascript - Express js,第二次对同一路由的GET请求总是挂起

标签 javascript node.js express

我正在开发一个快速应用程序,我需要在其中呈现“/”路线的登陆页面。该页面有一个文本框和一个按钮。当用户将文本添加到文本框并点击提交按钮时,我需要向相同的 url 发出请求,但添加文本作为其查询参数。此请求将呈现一个新页面,其内容取决于查询文本。

现在发生的事情是,当用户在文本框中输入文本并按下按钮时,表单会发出 GET 请求,并且路由看起来类似于 http://localhost:3000/?q=abc。我可以在 Chrome 开发人员工具的网络选项卡中看到此请求处于待处理状态,但此请求从未到达服务器。我在服务器控制台中看不到任何对 /?q=abc 的请求。

如果我重新启动服务器,然后打开http://localhost:3000/?q=abc,正确的内容将加载到浏览器中。但是,如果我将 url 更改回 http://localhost:3000,我可以在网络选项卡中看到待处理的请求,并且该请求永远不会到达服务器。

我的代码看起来像:

app.get('/', function(req, res, next) {
  if(req.query.q) 
    res.render('results.ejs');
  else
    res.render('landing.ejs')
});

知道为什么没有调用服务器吗?我花了一整天的时间试图找出这种行为的原因。任何帮助将不胜感激。

最佳答案

您是否尝试过插入临时中间件来查看请求到底卡在中间件/路由链中的哪个位置?听起来好像某个地方有一个中间件在某些情况下没有调用 next()

关于javascript - Express js,第二次对同一路由的GET请求总是挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25217986/

相关文章:

node.js - 为什么 CLIENT_EVENTS 不起作用 RTM 在我的 Slack 机器人中未定义?

node.js - 注销没有 req 对象的用户 Passport js

javascript - 快速路由问题

javascript - 打印不同页面时使用 css 设置页面方向

javascript - Jquery toggleclass 不起作用

node.js - npm 模块 Imager 安装

node.js - 按复合索引排序的集合分页?

javascript - 如何使用express和node进行异步调用

函数内的 Javascript 'new' 关键字

javascript - 如何使用jquery读取隐藏的div?