从视图中的节点传递的NodeJS值,而不网址

问题描述 投票:0回答:4

我使用与快递和EJS的NodeJS。

每一个互联网上询问如何从节点传递价值的观点,但什么相反?

例如,我问我的用户输入的字符串的形式,当用户点击该按钮时,我怎么能得到这个字符串,而不把它当作URL中的参数?

表格:

<div class="container">
        <form style="width:50%">
            <div class="form-group">
                <label for="text">Name of the product</label>
                <input type="text" class="form-control" id="pName">
            </div>
            <div class="form-group">
                <label for="text">Reciever</label>
                <input type="text" class="form-control" id="reciever">
            </div>
            <div class="form-group">
                <label for="text">Location</label>
                <input type="text" class="form-control" id="location">
            </div>
            <!-- <div class="checkbox">
            <label><input type="checkbox"> Remember me</label>
        </div>-->
            <button type="submit" class="btn btn-default">Submit</button>
        </form>

在app.js

var express = require('express');
var app = express();

//ALL GLOBAL VARIABLES
var port = 8080;

app.get('/', function(req, res) {
    res.render('index.ejs');
});

app.get('/barcode', function(req,res) {
    res.render('barcode.ejs');
});
app.listen(port);

我知道我能做到这一点:

app.get('/url/:parameter', function(req.res) {
var foo = req.params.parameter;
}

但是,如果我不希望使用URL,是可以检索数据?

javascript node.js express ejs
4个回答
5
投票

使用POST的方法为你的HTML表单

<form action="/myapi" method="post">
    <input type="text" class="form-control" id="pName" name="pName">
    <button type="submit" class="btn btn-default">Submit</button>
</form>

然后处理在后端的客户端形式的“行动”与app.post

app.post('/myapi', function(req, res) {
  res.send('The pName is "' + req.body.pName + '".');
});

2
投票

您可以使用POST方法而不是GET。您需要在您的快速改变路线

app.post('/url', function(req.res))

并在窗体上添加一个方法

 <form style="width:50%" method="POST">

1
投票

如果使用POST请求的参数是不是URL的一部分。例如。

app.post('/path', function(req, res) {
    ...
    //You can retrieve the parameters of the POST request here
]);

你需要的body-parser模块,能够得到这个职位的参数。这里的an answer约一旦你建立路由如何获得POST参数。

您的形式应该有一个方法和行动:

<form action="/path" method="POST">...</form>

0
投票

从你的问题,一般来说,如果你想从唯一ID的价值,你将存储该值作为一个全局变量。所以你可以很容易地获取当前用户和用户相关的细节。

© www.soinside.com 2019 - 2024. All rights reserved.