我希望能够在从提交帖子返回时解析值。我无法通过javascript手动启动ajax调用找到一种方法来实现这一目标
网页代码:
<form id="form1" method="post" action="/formSubmit" >
<input type="text" name="username">
<input type="text" name="email">
<input type="submit" value="Submit">
</form>
nodejs服务器上的代码:
router.post('/', function(req, res) {
console.log("HERE: " + req.body.username);
console.log("HERE: " + req.body.email);
res.json({ data1: 'Hello', data2: 'World'});
}
编辑#1:目前这只是呈现&#34; {data1:&#39; Hello&#39;,data2:&#39; World&#39;}&#34;进入浏览器,但我需要解析它
答案 0 :(得分:0)
表单提交后您想看到什么?您处理POST请求的方式是发送JSON。所以你确实需要AJAX来使你的结果更美观。为了避免使用AJAX,您只需将响应作为HTML文件发送。
当然,您也可以将提交的表单数据传递给模板并将其发送给用户。将您需要的变量传递给模板:
res.render('formsubmit', {data1: 'Hello', data2: 'World'});
为此你需要在你的模板目录中有一个名为formsubmit
的模板文件(以及根据你的视图引擎结束的文件),它取得给定的变量。 Express将负责创建一个HTML文件。
E.g。对于Handlebars,您可以访问视图文件夹中名为formsubmit.hbs
的模板文件中的变量,如:
<p>Hello, my name is {{data}} and not {{data2}}.
另请参阅:https://expressjs.com/en/guide/using-template-engines.html