如何在节点js中的另一个js文件中引用post请求值?

时间:2017-06-11 15:52:02

标签: javascript node.js express ejs

很长一段时间,第一次。我是学习节点JS,Javascript,快递等的新手,并且已经处理了三天的问题并且正在计算。希望能得到一些帮助。

我有一个视图(称为“排名”视图),用户填写HTML表单,输入用户名和一组团队名称。

  • 我使用express处理发布请求并将数据保存在mongodb
  • 请求包含一个用户名字段,可以通过快递app.post方法中的“req.body.username”引用。

我想要做的是从POST请求中捕获这个'req.body.username'并在另一个JS文件(称为'thankyou.js')中使用它,这将是“thankyou”视图的配置文件。换句话说,我正在寻找一种方法以某种方式直接引用'req.body.username'参数,而不必回到数据库,在我的“thankyou”视图中,我想说的是:

"Thank you" + <%= req.body.username %> + "for contacting us".

实现这一目标的最佳方法是什么?我已经考虑并研究了以下内容,但不太确定如何实现:

  • 以某种方式在我的排名JS文件中导出'req.body.username'属性,并在thankyou JS文件中要求/引用它。
  • 使用查询字符串将standings.js中的'req.body.username'传递给thankyou视图。

这是我的快递app.post方法,用于处理来自用户的“积分”视图的POST调用:

app.post('/standings', urlencodedParser, function(req, res){

var newStandings = standingsModel.update({ username: req.body.username}, req.body, {upsert: true}, function(err,data){
  if (err) throw err;

res.json(data);
})
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

这些REST调用了吗?它看起来像,所以我将假设这是无状态的,你不能使用会话,对吧?

您何时将用户发送到“谢谢”页面?如果是在提交之后,你可以进行重定向而不是让所有内容都成为AJAX调用吗?

我会在ExpressJS中的路由/页面之间传递数据时查看this answer。看看它是否为您提供任何价值。您可能需要进行一些架构更改。