2015-04-14 97 views
1

我的快件代碼發佈形式的詳情:無法使用快速JS

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> 

我想在提交 頁打印表單值我還沒有添加任何jQuery或任何在頭部分 什麼是錯誤?

+0

你想在哪裏打印用戶名?它在網頁上的控制檯 – Kishorevarma

+0

中。它可以,如果我能夠在控制檯中打印。我只是想確保數據正在通過 –

+0

你在哪個端口上運行你的服務器,例如如果它的8080,使用「localhost:8080/me」作爲 – Kishorevarma

回答

0

問題是你的表單的enctype,我使用的玉模板系統,只需加上「玉」:在你的package.json「^ 1.6.0」,並做NPM安裝

服務器代碼

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") 

,如果你想的multipart/form-data的,你需要使用

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

它仍然沒有工作 –

+0

這是否行之有效,複製我的代碼並執行npm install,創建視圖文件夾並保持test.jade裏面,然後運行服務器 – Kishorevarma