javascript - 在 Node.JS 中获取 http post 表单数据

标签 javascript node.js forms http

嘿,我正在尝试使用 express 和 Node 发送发布请求,这是我的代码。

index.html

<html>

<head>
    <title>Test</title>
</head>

<body>
    <form action="/form" method="POST" enctype="multipart/form-data">
        <input type="text" name="imagename"></input>
        <input type="submit" name="submit" value="submit"></input>
    </form>
</body>

</html>

我的 app.js 文件如下:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');

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

app.post('/form', function(req, res){
 res.setHeader('Content-Type', 'application/json');
 setTimeout(function(){
     res.send(JSON.stringify({
        imagename: req.body.imagename || null

    }));
  }, 1000);
});

现在我应该将输出作为图像名称://如果为真或为空,则在表单中添加值。而且我总是得到一个空值。我试图记录 req.body.imagename 的值,但我得到的是未定义的值,而不是我在表单中插入的值。如有任何帮助,我们将不胜感激。

最佳答案

您必须将 body-parser 添加到您的 Express 应用中。

var app = express();
var bodyParser = require('body-parser');

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));

// parse application/json
app.use(bodyParser.json());

但是,我看到您已经使用 enctype='multipart/formdata' 声明了您的表单。这通常用于文件上传,如果它真的是你想要的,你将需要使用 another parser

关于javascript - 在 Node.JS 中获取 http post 表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017717/

相关文章:

javascript - Select2 下拉光标属性更改

node.js - SLC环回: Using model instance from within a model hook

node.js - nodejs中的同步循环

javascript - 如何将 src 的值放入输入然后将其显示在另一页上?

javascript - 如何使用javascript插入换行符?

javascript - 文本框值在 angularjs 中返回空

javascript - Ember 应用程序套件 - 扩展 super 路线

javascript - 如何为具有列表/详细 View 和分页的应用程序选择 Redux 状态形状?

node.js - 如何使用nodejs、d3和jsdom修改基于svg的dom的内容?

reactjs - MUI 输入字段只接受字母、数字和破折号?