【问题标题】:NodeJS, express: post data from one page to anotherNodeJS,express:将数据从一个页面发布到另一个页面
【发布时间】:2026-02-23 21:35:01
【问题描述】:

我必须将一些数据从一页发布到另一页。我在 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> 

【问题讨论】:

  • 您的表单必须包含所有&lt;input&gt;s。 &lt;form&gt;&lt;div&gt;&lt;label&gt;&lt;input /&gt;&lt;/label&gt; ...&lt;/div&gt;&lt;/form&gt;
  • 我这样做了,但它没有重定向到其他页面。虽然我可以在 URL 中看到值。
  • 你还需要body-parser
  • 这有帮助。你能帮我再问一个问题,我怎样才能在下一页显示这个帖子数据?
  • 使用res.rendertemplate engine

标签: javascript node.js express


【解决方案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 和你建议的代码,它有帮助。你能告诉我如何在下一页显示这个发布的数据吗?
最近更新 更多