快递js,第二次GET请求到同一路线总是待定

时间:2014-08-09 11:18:45

标签: 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')
});

知道为什么不打电话给服务器?我花了一整天的时间试图弄清楚这种行为的原因。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否尝试过插入临时中间件以查看请求在中间件/路由链中的确切位置?听起来有些中间件在某些情况下没有调用next()