为什么我仍然收到“无法发布”消息?

时间:2017-06-21 09:23:59

标签: node.js express

我有一个非常简单的html表单,并且表达服务器,但我无法使路由工作。我总是得到“不能发帖”的消息。我错过了什么?

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

  app.use(express.static("public"));
  app.use(express.bodyParser());

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

  app.post("/sendform", function(req, res){
  res.send('You sent the name "' + req.query.user + '".');
  });

  app.listen(3000, function(){
  console.log("Server is running at port: 3000");
  }); 


  <form method="post" action="http://localhost:3000/sendform">
    <input type="text" name="username" />
    <input type="submit" value="küldés" />
  </form>

1 个答案:

答案 0 :(得分:1)

使用express 4.15.3,你必须使用身体解析器。 我将您的代码更改为此,我可以发布到它:

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

app.use(express.static("public"));
//app.use(express.bodyParser());
app.use(bodyParser.json({
    limit: "10mb"
}));

app.use(bodyParser.urlencoded({
    limit: "10mb",
    extended: true
}));


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

app.post("/sendform", function (req, res) {
    res.send('You sent the name "' + req.query.user + '".');
});

app.listen(3000, function () {
    console.log("Server is running at port: 3000");
});