无法使用Express js发布表单详细信息

时间:2015-04-14 16:07:59

标签: node.js express mean-stack

我的快递代码:

  var express = require('express');
    var bodyParser= require("body-parser");
    var app = express();
    app.use(bodyParser.urlencoded({ extended: false }));
    app.set('view engine', 'ejs');

    app.get('/', function(req, res){
            res.render('default', {title: 'Home', users: ['a', 'b', 'c']});
    });


    app.post('/me', function(req, res){
            res.send("2nd page");
            var t1= req.body.username;
            console.log(t1);
   });

我的模板:

<form method="post" enctype="multipart/form-data" action="/me">
   <input type="text" name="username">
   <input type="password" name="password">
   <input type="submit">
</form>

我正在尝试在提交的页面中打印表单值 我没有在head部分添加任何jQuery或任何东西 这是什么错误?

1 个答案:

答案 0 :(得分:0)

问题在于你的表单enctype,我正在使用jade模板系统,只需添加&#34; jade&#34;:&#34; ^ 1.6.0&#34;在你的package.json中并执行npm install

服务器代码

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

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

  app.set('view engine', 'jade');

  app.get('/', function(req, res){
    res.render('test');
  });
  app.post('/me', function(req, res){
    console.log(req.body.username);
    res.send("done");
  });

  app.listen(8081);
  console.log("Listening at 8081");

视图/ test.jade

 doctype html
 html
    form(method="post",enctype="application/x-www-form-urlencoded" action="/me")
    input(type="text",name="username")
    input(type="password" name="password")
    input(type="submit")

如果您需要使用多部分/表单数据

var multer = require('multer'); app.use(multer())