节点/ Javascript重定向不起作用?

时间:2016-07-27 11:40:41

标签: javascript node.js mongodb redirect pug

我已经构建了一个表单,可以将一些虚拟数据添加到Mongo集合中以进行测试。添加数据的功能似乎正常,因为数据正在添加好,但是,由于某种原因,函数末尾的重定向命令没有做到这一点。数据来自沼泽标准HTML表单。以下是添加数据的代码:

d

我在几个地方添加了一行记录到控制台,这样我就可以检查进度并全部触发,包括最终的“数据插入成功”。然而,跟随它的res.redirect什么也没做。在浏览器中,URL保留为“/ addacc”,但节点控制台显示“/ forms”URL的后续GET。

我尝试了一些重定向的变体,例如, res.send(“test”)只是为了尝试输出一些东西,也是一个res.render函数,但它们似乎都不起作用。

我很确定我错过了一些简单的东西,但我一直盯着代码太久了,我看不出它有什么问题。事实上,我的代码几乎完全相同。我这次唯一不同的做法就是插入包含嵌入式文档的Mongo集合,但数据插入不是问题,因为数据很好。

请帮忙!

1 个答案:

答案 0 :(得分:0)

好吧,看来上面的Node问题有点像红鲱鱼。重定向实际上正常工作(无论如何,MrWillihog的上述评论已适当注明以供将来参考)。我认为必须是因为npm控制台上的所有响应代码都检查得很好。问题实际上与渲染Jade模板有关。特别是与我用来设置HTML头的文件layout.jade有关。出于某种原因(尚未确定),在URL中直接调用/ forms页面时,工作正常。 forms.jade文件以标准方式启动

extends layout

block content

在layout.jade中打开BODY标记时,从重定向调用时页面无法正确加载:layout.jade文件呈现(我将H1放在那里进行检查),但forms.jade没有。 / p>

我将BODY移到了forms.jade(在block.content下)并开始工作了,有趣的是,地址栏中的URL仍然是'/ accadd'

再次,我有点难过,因为我已经使用过这种模式很多次没有问题。我猜我刚刚忘记了一些简单的事情。我会继续挖掘直到找到答案,但至少现在我应该找对了。