NodeJS,express:将数据从一个页面发布到另一个页面
Posted
技术标签:
【中文标题】NodeJS,express:将数据从一个页面发布到另一个页面【英文标题】:NodeJS, express: post data from one page to another 【发布时间】:2016-04-05 07:48:51 【问题描述】:我必须将一些数据从一页发布到另一页。我在 NodeJS 中使用 express。
我写了下面的代码:
var express = require('express');
var app = express();
app.get('/', function (req, res)
res.sendFile( __dirname + "/index.html" );
);
app.get('/RegistrationPage', function (req, res)
res.sendFile( __dirname + "/RegistrationPage.html" );
);
app.post('/RegistrationSuccessPage', function (req, res)
var uname = req.body.username
var pwd = req.body.pwd
var emailAddress = req.body.email
postData = uname+","+pwd+","+emailAddress
console.log(postData);
res.sendFile( __dirname + "/RegistrationSuccessPage.html",uname);
);
在导航到“RegistrationSuccessPage”时,uname、pwd、emailAddress 的值被打印为未定义。
我也使用过以下代码,但没有帮助:
app.post('/RegistrationSuccessPage', function (req, res)
var uname = req.query.username
var pwd = req.query.pwd
var emailAddress = req.query.email
postData = uname+","+pwd+","+emailAddress
console.log(postData);
res.sendFile( __dirname + "/RegistrationSuccessPage.html",uname);
);
有人可以帮助我如何从文本框中获取值并将它们发布到其他页面上。
HTML代码如下:
<body>
<div>
<div align="center">
<label>Please enter below details</label><br><br>
<label>Username *: </label><input type="username" name="username"/><br><br>
<label>Password *: </label><input type="password" name="pwd" /><br><br>
<label>Email Address *: </label><input type="email" name="email"><br><br>
<br><br>
<form action="/RegistrationSuccessPage" method="post"><input type="submit" value="Submit" /></form>
</div>
</div>
</body>
【问题讨论】:
您的表单必须包含所有<input>
s。 <form><div><label><input /></label> ...</div></form>
我这样做了,但它没有重定向到其他页面。虽然我可以在 URL 中看到值。
你还需要body-parser
这有帮助。你能帮我再问一个问题,我怎样才能在下一页显示这个帖子数据?
使用res.render
和template engine。
【参考方案1】:
您将输入字段放置在表单标签内。使用下面的代码
<body>
<div>
<div align="center">
<form action="/RegistrationSuccessPage" method="post">
<label>Please enter below details</label><br><br>
<label>Username *: </label><input type="username" name="username"/><br><br>
<label>Password *: </label><input type="password" name="pwd" /><br><br>
<label>Email Address *: </label><input type="email" name="email"><br><br>
<br><br>
<input type="submit" value="Submit" /></form>
</div>
</div>
</body>
现在试试我可能会工作
【讨论】:
我使用了 body-parser 和你建议的代码,它有帮助。你能告诉我如何在下一页显示这个发布的数据吗?以上是关于NodeJS,express:将数据从一个页面发布到另一个页面的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jade、NodeJS、Express 的动态 html 页面
Express 和 Nodejs:调用外部 API 的最佳方式
如何使用 nodejs / express 将数据存储在 mongodb 中?
如何从不同的上传点在同一页面上上传多个文件。使用 nodejs express-fileupload