首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Nodejs和body-parser发布表单数据

使用Nodejs和body-parser发布表单数据
EN

Stack Overflow用户
提问于 2015-07-16 00:04:16
回答 2查看 14.9K关注 0票数 3

我已经关注了几次不同的在线尝试,现在我的post数据一直没有定义,console.log(JSON.stringify(req.body))也没有返回任何东西。所以我在某处出错了.

HTML:

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
  <head>
    <title>Chat</title>
  </head>
  <body>
    <form action="/" method="post">
      <button>Close</button><br/><br/>
      <label for="username">Your Name: *</label><br/>
      <input id="username" type="text" value="" name="username" autocomplete="off" required="required" /><br/>
    <!--   <label for="email">Email: *</label><br/>
      <input id="email" value="" name="email_address" autocomplete="off" required="required" /><br/> -->
      <label for="phone">Phone:</label><br/>
      <input id="phone" value="" name="phone" autocomplete="off" /><br/>
      <label for="question">Question: </label><br/>
      <textarea id="question" name="question">
      </textarea required="required"><br/><br/>
      <button type="submit">Chat</button>
    </form>
  </body>
</html>

JS:

代码语言:javascript
复制
var app = require('express')();
var http = require('http').Server(app);
var bodyParser = require('body-parser');

app.use(bodyParser.json());

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

app.post('/', function(req, res) {
    var username = req.body.username;
    res.send('<h1>Hello</h1> '+username);
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 00:25:09

尝试添加Urlencoded option

代码语言:javascript
复制
var app = require('express')();
var http = require('http').Server(app);
var bodyParser = require('body-parser');

// Add this line below
app.use(bodyParser.urlencoded({ extended: false })) 

app.use(bodyParser.json());

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

app.post('/', function(req, res) {
    var username = req.body.username;
    res.send('<h1>Hello</h1> '+username);
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});
票数 3
EN

Stack Overflow用户

发布于 2017-11-06 21:29:12

尝试使用express- data上传软件包,您可以在req.body中获取数据

代码语言:javascript
复制
var app = require('express')();
var http = require('http').Server(app);
const fileUpload = require('express-fileupload')

app.use(fileUpload());

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

app.post('/', function(req, res) {
var username = req.body.username;
res.send('<h1>Hello</h1> '+username);
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31435539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档