首页 > 解决方案 > 如何将 HTML 表单输入存储在 Node JS 变量上?

问题描述

我无法将 HTML 表单输入的值设置到我的 Node JS 变量中。下面是我的 JS 代码,其中我无法设置变量“主机名”和“端口”的值,这将依次连接到一个名为 url 的新变量。

console.log(url) 只打印 mongodb://:。这表明我的 HTML 表单值没有存储在我的 Node JS 变量中。

var express     = require('express');        // call express
var app         = express();                 // define our app using express
var bodyParser  = require('body-parser');
var router      = express.Router();  

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

var port = process.env.PORT || 8080;        

var router = express.Router();              

const dbname    = "admin";

var hostname ='';
var port2 ='';

app.post('/', function(req, res){ 
    hostname = req.body.hostname;
    port2 = req.body.port2;
});

var url ="mongodb://"+hostname+":"+port2;

下面是我处理表单输入的 html

    <form class="clr-form" action="/" method="POST">
        <input type="text" name="hostname" placeholder="Enter Host Name" class="clr-input"> <br/>
        <input type="text" name="port2" placeholder="Enter Port" class="clr-input"><br/>
        <input type="submit" value="Submit" />
    </form>

标签: javascripthtmlnode.jsformsexpress

解决方案


您不需要再次重新声明 port2

var port2 ='';

app.post('/', function(req, res){ 
    var hostname = req.body.hostname;
    port2 = req.body.port2;
});

var url ="mongodb://"+hostname+":"+port2;

推荐阅读